mysql不存在返回空集

时间:2013-09-04 14:44:40

标签: mysql

我有一个名为 Today_UNIT_NAMES 的表格,其中包含以下列名称:

id, unit_id, unit_name, name_type_id

4 name_type_id(1,2,3,4)

我想编写一个查询来查找所有 unit_id 不要 unit_name name_type_id = 4 存在于记录中。这是我尝试过的。它返回一个空集。

select `un`.`unit_id`
from `Today_UNIT_NAMES` `un`
where  NOT EXISTS(
           select `un`.`unit_id`
           from `Today_UNIT_NAMES` `un`
           where `un`.`name_type_id`='4'
       )
order by `unit_id`

3 个答案:

答案 0 :(得分:1)

这个怎么样: -

select `un`.`unit_id`
from `Today_UNIT_NAMES` `un`
where   `un`.`name_type_id`<>'4'
order by `unit_id`

SELECT unit_id
FROM Today_UNIT_NAMES
WHERE unit_name IS NULL
AND name_type_id = 4
ORDER BY unit_id ASC;

答案 1 :(得分:1)

SELECT unit_id FROM Today_UNIT_NAMES WHERE name_type_id <> 4 AND unit_name = ''

如果您需要unit_name为空

,则最后一个条件是可选的

答案 2 :(得分:0)

您只需在WHERE子句中指定要求:

SELECT unit_id
FROM Today_UNIT_NAMES
WHERE unit_name IS NULL
AND name_type_id = 4
ORDER BY unit_id ASC;