我在php和mysql中爲學校創建考勤管理系統。我在數據庫中3代表它們是:在多個表上使用多個查詢從多個表中獲取數據
1. Students
id
student_name
class
2. subjects
id
subjects
3. attendances
id
subject_id
student_id
attend (boolean)
today_date
我只儲存誰出席出席表班學生。
我想獲取參加或不參加特定班級,日期和主題的所有學生(在或不在參加表中)的列表。
贊;
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。
謝謝,但這給人僅在出勤表中可用的學生,但我想這是在出勤或不可用所有的學生。 – Cody
使用右連接。 –
我試過,但結果相同。我認爲這是因爲這些條件「a.subject_id = 3 AND a.date ='2017-08-18'」它正在給出這個結果。有沒有辦法來操縱這些條件。 – Cody