2010-07-29 116 views
1

是否有可用於從第二個表中訂購項目的MYSQL查詢。MYSQL使用第二個表從1個表中訂購數據

我的示例 我在列出我的商店...每個商店都有不同的表格。 所以我的商店清單顯示的產品在那家商店的數量..

有一個簡單的MySQL查詢,所以我可以通過產品

數量訂購我店

我的商店犯規持有數的值,它統計第二個表格中的行數

+1

請發佈您嘗試過的內容,一些示例數據和預期輸出。 – 2010-07-29 15:51:35

+0

是的,你可以使用'join'。查看OMG小馬的評論。 – MvanGeest 2010-07-29 15:52:57

+0

以及我沒有嘗試任何東西,因爲我有一種感覺,它可能會拋出MySQL。我會用第一個表中的所有數據構建一個數組...然後提取產品的數據並顯示我的數組......但它看起來毫無用處。 – StiGMaT 2010-07-29 15:54:49

回答

3

如果我理解正確你的問題,你可能會想嘗試像下面這樣:

SELECT  stores.id store_id, COUNT(products.id) num_products 
FROM  stores 
LEFT JOIN products ON (stores.id = products.store_id) 
GROUP BY stores.id 
ORDER BY num_products; 

測試用例:

CREATE TABLE stores (id int, name varchar(10)); 
CREATE TABLE products (id int, store_id int); 

INSERT INTO stores VALUES (1, 'store 1'); 
INSERT INTO stores VALUES (2, 'store 2'); 
INSERT INTO stores VALUES (3, 'store 3'); 
INSERT INTO stores VALUES (4, 'store 4'); 

INSERT INTO products VALUES (1, 1); 
INSERT INTO products VALUES (2, 1); 
INSERT INTO products VALUES (3, 1); 

INSERT INTO products VALUES (4, 2); 

INSERT INTO products VALUES (5, 3); 
INSERT INTO products VALUES (6, 3); 

結果:

+----------+--------------+ 
| store_id | num_products | 
+----------+--------------+ 
|  4 |   0 | 
|  2 |   1 | 
|  3 |   2 | 
|  1 |   3 | 
+----------+--------------+ 
4 rows in set (0.00 sec) 

您也可以通過添加以降序排序ORDER BY num_products

+----------+--------------+ 
| store_id | num_products | 
+----------+--------------+ 
|  1 |   3 | 
|  3 |   2 | 
|  2 |   1 | 
|  4 |   0 | 
+----------+--------------+ 
4 rows in set (0.00 sec) 
+0

IM戈納試試這個 – StiGMaT 2010-07-29 15:58:04

+0

SELECT *,COUNT(jos_com_ai_prod.idprod)FROM'jos_com_ai_manu' JOIN'jos_com_ai_prod' ON(jos_com_ai_manu.idmanu = jos_com_ai_prod.idmanu)GROUP BY jos_com_ai_manu.idmanu 是我當前的查詢,但它只返回有產品的元素,不會顯示沒有任何項目的項目? – StiGMaT 2010-07-29 17:28:31

+0

我thinjk的原因是ON ...需要找到一個匹配的產品...但如果沒有產品我想num_product說0和拉店數據 – StiGMaT 2010-07-29 17:37:43

0

只要您有加入第二個表格的內容,它就應該很簡單。

Select a.* From `FirstTable` a 
Inner Join `SecondTable` b on a.SomeCol = b.SomeCol 
Order By b.OrderingCol 
相關問題