我有一个名为 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`
答案 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;