SQL语法错误。仅显示3行而不是4行

时间:2014-08-29 08:30:40

标签: mysql sql

我有一个SQL-Query应该返回4行..但它只返回3行..

我的表看起来像这样: http://i.stack.imgur.com/10bog.png http://i.stack.imgur.com/8BuvD.png

这是我的语法:

SELECT gruppe
FROM gruppen
WHERE gruppe LIKE '%Vormittag%'
AND gruppe_id NOT IN (SELECT gruppe_id
                      FROM daten
                      GROUP BY gruppe_id
                      HAVING COUNT(gruppe_id) >= 15)
ORDER BY gruppe ASC;

我应该得到4个组的列表..但我得到这个3:

"Gruppe 2 | Vormittag"

"Gruppe 3 | Vormittag"

"Gruppe 4 | Vormittag"

隐藏第一个问题的地方在哪里?

2 个答案:

答案 0 :(得分:2)

您应该在内部选择中添加WHERE子句:

WHERE gruppe_id IS NOT NULL

您可以查看小提琴here

有关此行为的其他信息,您可以找到here

答案 1 :(得分:-1)

尝试此查询:

SELECT G.gruppe
FROM gruppen G
WHERE G.gruppe LIKE '%Vormittag%'
   AND G.gruppe_id NOT IN (SELECT D.gruppe_id
                      FROM daten D
                      WHERE D.gruppe_id IS NOT NULL
                      GROUP BY D.gruppe_id
                      HAVING COUNT(D.gruppe_id) >= 15)
ORDER BY G.gruppe ASC

我刚刚为表添加了别名,以避免具有相同名称的列之间发生冲突。

而不是那样,您的查询似乎是正确的!