我正在尝试为以下问题找到MySQL查询:
正好一个 supllier
提供了多少篇文章
我到目前为止的查询是:
SELECT
COUNT(artikel.art)
FROM
artikel
JOIN
inkart ON artikel.art = inkart.art
JOIN
leverancier ON inkart.lev = leverancier.lev
GROUP BY artikel.art
HAVING COUNT(leverancier.lev) = 1
但是这给了我错误的(不)结果。我想我必须在某个地方使用子查询,但我不知道如何。
答案 0 :(得分:1)
您只需计算唯一leverancier.lev
,这将列出artikel.art
SELECT artikel.art
FROM artikel
JOIN inkart ON artikel.art = inkart.art
JOIN leverancier ON inkart.lev = leverancier.lev
GROUP BY artikel.art
HAVING COUNT(DISTINCT leverancier.lev) = 1
如果你想要文章的数量,
SELECT COUNT(*)
FROM
(
SELECT artikel.art
FROM artikel
JOIN inkart ON artikel.art = inkart.art
JOIN leverancier ON inkart.lev = leverancier.lev
GROUP BY artikel.art
HAVING COUNT(DISTINCT leverancier.lev) = 1
) a
答案 1 :(得分:1)
select count(artikel.art)
from artikel
where 1= (select count(*) from inkart
join leverancier on inkart.lev=leverancier.lev
where inkart.art=artikel.art
)