SELECT dieet.snr, soort.nsnaam FROM soort
JOIN dieet ON soort.snr = dieet.snr
JOIN voedsel ON dieet.voednr = voedsel.voednr
WHERE voedsel.voednr = 22
GROUP BY dieet.snr
HAVING COUNT(*) = 1 ;
哪里条件会影响我的输出,我做错了什么
答案 0 :(得分:1)
我怀疑你正在寻找只有一个记录是“voednr = 22”的“snr”。你的查询得到的所有“snr”都有一个这样的“voednr”,以及其他“voednr”。
让我建议以下查询:
SELECT dieet.snr, soort.nsnaam
FROM soort
JOIN dieet ON soort.snr = dieet.snr
JOIN voedsel ON dieet.voednr = voedsel.voednr
GROUP BY dieet.snr
HAVING COUNT(*) = 1 and max(voedsel.voednr) = 22
这将为您提供只有22的行。