0
我想用良好的性能方法構建SQL查詢。我需要選擇與此類別相關的所有類別和計數頻段。MySQL - 多重連接關係和計數行
結構:
波段:
id | band_name |cat_id
----------|----------------|------------
1 | Business 1 | 1
2 | Business 12 | 2
3 | Business 123 | 2
類:
id | name
----------|----------------
1 | Business 1
2 | Business 12
3 | Business 123
連接:
id | band_id |cat_id
----------|----------------|------------
1 | 1 | 1
2 | 2 | 1
3 | 2 | 1
查詢:
SELECT c.name AS category_name, (SELECT COUNT(icc.band_id) FROM cms_bands_categories_connections AS icc RIGHT JOIN cms_bands AS ib ON icc.band_id = ib.id) AS bands_sum FROM
cms_bands_categories AS c
JOIN cms_bands_categories_connections AS cc ON
c.id = cc.category_id
GROUP BY
c.id
結果非常奇怪 - bands_sum在每行中顯示爲3。不要責怪我的結構 - 我不得不因爲需求規格的改變而被稱爲modyfi。
請通過添加適當的標籤(Oracle,SQL Server,MySQL等)來指定您要定位的RDBMS。可能會有利用不被普遍支持的語言或產品功能的答案。此外,通過使用特定的RDBMS標記它,您的問題可能會得到更適合回答的人的關注。 – Taryn