Я разрабатываю веб-часы для школы для входа в систему как для студентов, так и для персонала.mysql просмотр содержит текущий статус
У меня есть две таблицы:
student_time_clock: student_id (foreign key to student), time_stamp, by_adult_id (foreign key to adult)
staff_time_clock: staff_id (foreign key to staff), time_stamp
Одним из требований, я был дан в том, что наблюдатель сможет увидеть записи в одной точке зрения, как следующее:
+----------+------------+-------------------------+---------------------+
| In/Out | Time Stamp | Person Logged in or out | Logged in or out by |
+----------+------------+-------------------------+---------------------+
Я могу сделать все, кроме первого столбца с объединением. Однако я не могу понять, как получить этот первый столбец. Вот запрос, я использую для объединения:
SELECT stc.entry AS "Time Stamp",
Concat(s.lastname, ",", s.firstname) AS "Punched",
Concat(a.lastname, ",", a.firstname) AS "By"
FROM student_time_clock stc,
student s,
adult a
WHERE stc.student_id = s.id
AND stc.by_adult_id = a.id
UNION
SELECT atc.entry AS "at",
Concat(a.lastname, ",", a.firstname) AS "Staff",
Concat(a.lastname, ",", a.firstname) AS "By"
FROM staff_time_clock atc,
staff s,
adult a
WHERE atc.staff_id = s.id
ORDER BY "time stamp" DESC;
Я попытался с помощью СЛУЧАЯ, такие как:
CASE COUNT(entry) % 2 WHEN 1 THEN "In" WHEN 0 THEN "Out"
Когда этот случай есть, хотя я получаю только одну строку в результате ,
Любые предложения? Передняя часть находится на PHP, но я хотел бы создать это как представление в базе данных.
А где остальная часть вашего запроса? – Kermit
Обновлен вопрос, чтобы показать мой текущий запрос на объединение. Не уверен, как добавить CASE. –
Вы уверены, что хотите использовать 'UNION' здесь? – Kermit