2011-05-04 128 views
4

我試圖將2個表連接在一起並獲得外鍵的計數... 對不起,但我真的不怎麼解釋我自己,所以讓我來演示一下:MySQL JOIN和COUNT中的單個查詢

我有1臺,「訂單」,訂單,具有以下字段:

id, f_name, l_name, credit_card, ETC. 

然後,我有順序的項目,像這樣的「orders_details」表:

id, order_id, product_id, qty 

現在,我想要運行一個查詢加入這兩個表,在訂單表中每行獲得1行,列中告訴我每個訂單中有多少產品。

有人知道如何做到這一點?

P.S.我還希望能夠獲得訂單的所有'數量'的總數(我不想爲每個訂單運行單獨的查詢)。

回答

10
​​
+1

哇,這很快,謝謝。 – 2011-05-04 01:58:41

+0

@John請記住,如果你在'SELECT'子句中添加更多的列,你還需要將它們添加到'GROUP BY' – Phil 2011-05-04 02:08:36

+1

@John:實際上在MySQL中,你不必包含所有的非 - GROUP BY中聚合的列/表達式。 MySQL允許您使用刪減的GROUP BY,您只需要包含唯一定義您選擇的所有其他非彙總數據的鍵列或表達式。不過,我認爲菲爾的建議值得關注,因爲大多數其他RDBMS不支持刪除的GROUP BY,並且誰知道您是否決定開始學習並使用另一種SQL方言。 – 2011-05-04 16:08:36