我在php
項目中使用mysql
查詢,並且我停留在查詢中。現在我正在使用下面的查詢來獲取form
表中的所有項目。獲取相關表中的記錄mysql
SELECT `user`.`name` AS `Detail`, `forms`.*
FROM `forms`
INNER JOIN `user` ON user.id = forms.user_id
WHERE ((`forms`.`item_id`=52)
AND (`forms`.`date`='11/28/2015'))
AND (`forms`.`is_deleted`=0)
現在我想在名爲records
結果集中再添加一個列,我想下面的查詢
SELECT `user`.`name` AS `Detail`, `forms`.*, count(registration.id)
FROM `forms`
INNER JOIN `user` ON user.id = user.user_id
Left Outer JOIN registration ON registration.forms_id = forms.id
WHERE ((`forms`.`item_id`=31)
AND (`forms`.`date`="12/12/2015"))
AND (`forms`.`is_deleted`=0)
所以,如果有任何的形式registration
表中沒有條目記錄比返回0,但我的查詢只返回數據,其中registration
表中存在至少1條記錄。我也嘗試使用inner join
表registration
表,但它不工作。
數據結果,我得到現在沒有count
功能是這樣
Detail id item_id user_id name date
User1 4 15 52 Testing 6 11/28/2015
User2 6 17 55 Testing 2 11/28/2015
User2 3 18 55 Testing 5 11/28/2015
User1 3 18 52 Testing 5 11/28/2015
我想是這樣的
Detail id item_id user_id name date records
User1 4 15 52 Testing 6 11/28/2015 2
User2 6 17 55 Testing 2 11/28/2015 5
User2 3 18 55 Testing 5 11/28/2015 0
User1 3 18 52 Testing 5 11/28/2015 0
現在我知道了如何使用另一個查詢和打印,以獲得count
結果,但如果我可以在相同的查詢中做到這一點,那麼我就不必編寫單獨的查詢來獲取記錄。
謝謝
如果您提供了說明您的案例的示例數據,這將有所幫助。 – JRD
@JRD我已更新問題 –
您需要一個'group by'子句來對行進行正確分類。沒有它,'count'聚合函數將只返回1行,所有其他列將有任意值。 – JRD