我有 4 张桌子。
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
但它只会获得所有带有 date_submitted = 2003-01-08 的 unique_id_number 我想得到这个
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