これは私が持っているクエリです:
SELECT p.id, COUNT(c.id) AS comments, COUNT(a.id) AS answers
FROM posts_tbl AS p
LEFT JOIN post_reply_tbl AS c ON c.post_id = p.id AND c.type IN (1,3)
LEFT JOIN post_reply_tbl AS a ON a.post_id = p.id AND a.type = 2
GROUP BY p.id
結果として得られるはずのものは次のとおりです。
ID Answers Comments
1 3 4
2 1 1
3 0 1
しかし、代わりに私は得ています:
ID Answers Comments
1 12 12
2 1 1
3 0 1
LEFT JOIN の 1 つだけを使用すると、どちらの LEFT JOIN を使用しても、回答/コメントに適切な量が得られます (使用する LEFT JOIN によって異なります)。しかし、両方を使用すると、2番目の結果が得られます。
* を使用した場合のサンプル結果データ:
id username date subject year brand model type bodywork text image chassis id post_id answer_id username text date type id post_id answer_id username text date type
1 Sinan Samet 2013-02-18 20:18:19 Dit is een test onderwerp 2006 Audi A4 TFSI 2.0 TFSI 2.0 QUATTRO - 200pk Lorem ipsum dolor sit amet consectetur adipiscing ... test.jpg 345215453213425 5 1 NULL Sinan Samet Test 2013-02-26 09:19:22 1 1 1 NULL Jan Willem Bla 2013-02-26 14:14:17 2
1 Sinan Samet 2013-02-18 20:18:19 Dit is een test onderwerp 2006 Audi A4 TFSI 2.0 TFSI 2.0 QUATTRO - 200pk Lorem ipsum dolor sit amet consectetur adipiscing ... test.jpg 345215453213425 5 1 NULL Sinan Samet Test 2013-02-26 09:19:22 1 2 1 NULL Peter Nee toch niet 2013-02-26 15:12:26 2
1 Sinan Samet 2013-02-18 20:18:19 Dit is een test onderwerp 2006 Audi A4 TFSI 2.0 TFSI 2.0 QUATTRO - 200pk Lorem ipsum dolor sit amet consectetur adipiscing ... test.jpg 345215453213425 5 1 NULL Sinan Samet Test 2013-02-26 09:19:22 1 3 1 NULL Homer Simpson Doh! 2013-02-26 14:33:18 2
1 Sinan Samet 2013-02-18 20:18:19 Dit is een test onderwerp 2006 Audi A4 TFSI 2.0 TFSI 2.0 QUATTRO - 200pk Lorem ipsum dolor sit amet consectetur adipiscing ... test.jpg 345215453213425 6 1 NULL Bart Simpson Yo 2013-02-26 08:38:37 1 1 1 NULL Jan Willem Bla 2013-02-26 14:14:17 2