0
我有4張桌子。如何使用JOIN加入
tbl_person:
- person_id
- unique_id_number
tbl_plan:
- plan_id
- plan_name
tbl_person_plan:
- id
- person_id
- plan_id
- is_done
tbl_monitor_level:
- id
- unique_id_number
- sugar_level
- date_submitted
用戶每天都會在tbl_monitor_level中輸入數據。我只想檢索今天沒有輸入任何數據的所有unique_id_number。
我用這個
select distinct tml.unique_id_number, count(tml.sugar_level) from
tbl_person tp
right join
tbl_monitor_level tml on
tml.unique_id_number = tp.unique_id_number
inner join tbl_person_plan tpp on
tpp.person_id = tp.person_id
where tml.date_submitted = '2013-01-08'
group by tml.unique_id_number
,但它只會得到所有unique_id_number與date_submitted = 2003-01-08 我想這不是
unique_id_number | count
-------------------------
G12345A | 1
G23456B | 0
但因爲它是它將不會得到其他unique_id_number (G23456B)
。所有這些unique_id_numbers
存在於其他表上。
樣本數據
tbl_person
- person_id - 1
- unique_id_number - G12345A
- person_id - 2
- unique_id_number - G23456B
tbl_plan
- plan_id - 1
- plan_name - Plan A
tbl_person_plan
- id - 1
- person_id - 1
- plan_id - 1
- is_done - 0
- id - 2
- person_id - 2
- plan_id - 1
- is_done - 0
tbl_monitor_level
- id - 1
- unique_id_number - G12345A
- sugar_level - 100
- date_submitted - 2013-01-08
- id - 2
- unique_id_number - G12345B
- sugar_level - 200
- date_submitted - 2013-01-07
以上數據應該是的結果。但我只得到
unique_id_number | count
-------------------------
G12345A | 1
感謝您的評論,但仍然無法正常工作。 – jantox
@jantox:其實,我忘了解決WHERE過濾器問題 - 已更新。那對你有用嗎? – PinnyM
這將產生給定的上述例子。編號-G12345A計數-1和編號-G23456B計數-1。應該是數字-G12345A count-1和數字-G23456B count-0 – jantox