我有一個問題,當我加入一個表中不存在條目。加入/聯盟時總結列
設置是這樣的:
(此表包含的誰可以把人的自由的參賽名單上的人名單)
表1:
ID,NAME,GUESTS
其中GUESTS
是多少他們讓下列名單中沒有名字:
(這包含所有被授予免費入場的人的姓名和客人)
表2:
ID,PROMOTERID,NAME,GUESTS
其中PROMOTERID
爲外鍵表1科拉姆ID。
這個想法是表1中的GUESTS
字段中的任何字段都應該添加到表2中列出的總客人名單中。例如,如果ID 4的發起人已將6人免費參賽名單,但也讓額外的3人(這將存儲在他的GUESTS
值在表1),我需要一個視圖,其中啓動子ID總客人數爲9。
這工作只要在表2中無法找到他的身份證號碼 - 也就是說,如果他允許某人免費入場,但從未將某人置於免費入境名單中,則他不包含在視圖中。
查看樣子:
select `table1`.`NAME` AS `NAME`,`table2`.`PROMOTERID` AS `Promoter`
,(sum(`table2`.`GUESTS`) + `table1`.`GUESTS`) AS `TOTAL` from
(`table1` join `table2` on((`table1`.`ID` = `table2`.`PROMOTERID`))),
group by `table2`.`PROMOTERID`
什麼我需要在表2改變爲獲得總不管條目的存在對於給定的子ID?
LEFT JOIN將帶回列,那裏是一個空 – Bobby
我試着用左加入,但在該領域是把NULL。我不需要null。如果發起人在表2中沒有人,我需要從表1中得到他的計數。 – nickdnk