如何从其他表中获取数据? 我有表“log”,我想选择“status_log”值为“in”和“out”的stud_id,“status”值为“0”,我的问题是选择值为“1”的学生' 在表“学生”的“年份”中。
这是我现有的代码。
SELECT l1.stud_id FROM log AS l1
JOIN log AS l2 ON l1.stud_id=l2.stud_id AND l2.status_log = 'out' AND l2.status = 0
WHERE l1.status_log = 'in' AND l1.status = 0
这是数据库表。 日志
| stud_id | date_log | time_log | ampm |status_log |status |
+---------+-----------+----------+------+-----------+-------+
| 123 |2015-08-19 | 07:38:34 | am | in | 0 |
| 123 |2015-08-19 | 07:40:34 | am | out | 0 |
| 5656 |2015-08-19 | 07:47:34 | am | out | 0 |
| 5656 |2015-08-19 | 07:47:34 | am | out | 1 |
学生
|cardcode | name | year |section |penalty_count |
+---------+-----------+------+-----------+--------------+
| 123 |martin | 1 | A | 0 |
| 5656 |neptali | 2 | A | 0 |
| 56577 |juan | 1st | A | 0 |
非常感谢
最佳答案
这将在 status_log
和 status
中选择具有 in
或 out
值的 stud_id
code> 为 0
,以及学生表中值为 1
的 year
。
SELECT a.stud_id, a.date_log, a.time_log, a.ampm, a.status_log, a.status, b.name, b.year, b.section, b.penalty_count
FROM log a
INNER JOIN student b ON a.stud_id = b.cardcode
WHERE (a.status_log = 'in' OR a.status_log = 'out') AND a.status = 0 AND b.year = 1
关于php - 如何使用id从其他表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32181359/