我有 3 个表。
Mark
id_mark
mark_name
example record:
1, 'Ford'
2, 'Fiat'
Model
id_model
id_mark
mondel_name
example record:
1, 1, 'Focus'
2, 2, 'Panda'
Adds
id_adds
id_model
name
price
etc.
example records:
1 1 'My ad', 20000
2 1 'My ad2', 30000
3 2 'My ad3', 30000
如何执行返回结果(Mark Adds Count)的查询示例:
Ford 2
Fiat 1
2 and 1 count
最佳答案
您需要两个连接。我已将第二个指定为 LEFT OUTER JOIN
,这样它可能会为没有关联广告的品牌返回 0。 Mark
通过 Model
连接到 Adds
。
SELECT
mark_name,
COUNT(id_adds) AS num_ads
FROM
Mark JOIN Model ON Mark.id_mark = Model.id_mark
LEFT OUTER JOIN Adds ON Model.id_model = Adds.id_model
GROUP BY mark_name
关于来自 3 个表的 MySQL 查询(计数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467407/