php - 如何使用id从其他表中获取数据

标签 php mysql

如何从其他表中获取数据? 我有表“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_logstatus 中选择具有 inout 值的 stud_id code> 为 0,以及学生表中值为 1year

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/

相关文章:

php - 在设定的到期时间(例如 5 分钟)后删除数据库行

php - 外键约束失败

php - 从 iOS 调用 php 函数

php - 如何最好地处理需要很长时间才能完成的 ajax 请求?

php - 拉维尔 4 : Unique(database) not validating

mysql - SQL 子查询来计算有多少人按星期几和按楼层结账退房(SQLZoo)

javascript - Jquery Ajax 无法获取当前聚焦的输入元素

php - 如何从 php 中的用户输入中删除 http、https、slash、www

javascript - 在日历函数中使用 Promise 响应(需要来自 ajax 调用的数据)

mysql - 如何汇总每个供应商全年的支出?