gpt4 book ai didi

php - 使用多个表上的多个查询从多个表中获取数据

转载 作者:行者123 更新时间:2023-11-29 06:55:45 25 4
gpt4 key购买 nike

我正在用 php 和 mysql 为一所学校创建考勤管理系统。我在数据库中有 3 个表,它们是:

1. Students
id
student_name
class

2. subjects
id
subjects


3. attendances
id
subject_id
student_id
attend (boolean)
today_date

我只将正在类的学生存储在出勤表中。

我想要获取所有参加或未参加特定类(class)、日期和科目的学生(无论是否在出勤表中)的列表。

喜欢;

Attendance for Class - X(Physics) on 18-08-2017

______________________________
| Student Name | Attendance |
------------------------------
| Foo | 0 |
| Bar | 1 |
| Baz | 0 |
| Qux | 1 |
------------------------------

我正在尝试查询

SELECT s.id,s.student_name, a.attend as attend 
FROM attendances as a
INNER JOIN students as s on s.id = a.student_id
WHERE s.class = 'X'
AND a.subject_id = 3
AND a.date = '2017-08-18'

但是我没有得到我想要的结果。我确信会有一些更好、更简单的方法来实现这一点,而我却缺少这种方法,因为我以前没有以这种方式使用过 SQL。

最佳答案

以下查询可能会帮助您获得所需的结果:

SELECT s.id,s.student_name, IFNULL(a.attend, 0) as attend FROM students as s LEFT JOIN attendances as a on s.id = a.student_id WHERE s.class = 'X' AND a.subject_id = 3 AND a.date = '2017-08-18' 

关于php - 使用多个表上的多个查询从多个表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45742886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com