我有表的定義如下圖所示獲得從另一個表COUNT(*):我如何使用LEFT JOIN的MySQL
- 廣場
(ID,姓名) - 審查
(ID,用戶ID,placeid) - 收藏
(ID,用戶ID,placeid) - 照片
(ID,網址placeid)
其中placeid
是外鍵Place
表的ID。
該表,我想獲得這樣的信息:
- placeid, place name, totalReview, totalFavorite, totalPhoto.
我stucked。目前我的進度我可以從1個表中獲得信息,就像我可以通過使用這個mysql語句知道totalReview的地方一樣: SELECT p.*, count(r.id) as totalReview from Place p left join Review r on p.id = r.placeid group by p.id
。 但是,我不知道如何可以導出totalFavorite和totalPhoto。
通過使用您的解決方案(LEFT JOIN)與Ehsan解決方案[下面](http://stackoverflow.com/a/10458566/476917),性能如何?我不知道這個解決方案可以在沒有LEFT JOIN的情況下解決。 –
+1是的,謝謝你指出我的回答是錯誤的。不要忘記外部選擇中的totalFavorite和totalPhoto。 –
謝謝你的提醒。我編輯了代碼來添加這兩個變量。 –