2013-06-28 58 views
2

所以,我需要幫助做一個子查詢內選擇,我知道這是有點基礎,但我不能自己做到這一點。Mysql subquery select all id

(Reparacao =維修和lojas =店,從葡萄牙語到英語)

我想,每個店都有維修的次數。不過,我一次只能做一家商店,但我想要一個選擇所有商店的查詢。

我使用這個查詢:

SELECT COUNT(DISTINCT id_reparacao) , lojas.nome 
FROM reparacoes 
INNER JOIN lojas ON lojas.id = 1 
WHERE id_loja = lojas.id 

,我想是這樣的:

SELECT COUNT(DISTINCT id_reparacao) , lojas.nome 
FROM reparacoes 
INNER JOIN lojas ON lojas.id = (Select id from lojas) //i want the id of every store 
WHERE id_loja = lojas.id 

回答

1

試試這個:

沒有必要使用子查詢來獲取所有維修按商店計算。 您可以使用JOINGROUP BY輕鬆獲得結果。

SELECT COUNT(DISTINCT id_reparacao) repairCnt, lojas.nome 
FROM reparacoes 
INNER JOIN lojas ON lojas.id = id_loja 
GROUP BY lojas.id 
+0

完美的作品。這似乎很容易,但我覺得很難做這個querys .. – DaftDev

+0

Prática,prática... – Strawberry

+0

@Strawberry不錯的葡萄牙那裏;) – DaftDev

0

你爲什麼不嘗試加入ON IDS:

SELECT COUNT(DISTINCT r.id_reparacao) , lojas.nome 
FROM reparacoes r 
INNER JOIN lojas l ON l.id = r.id_loja;