1

我有一个名为Today_UNIT_NAMES的表,其列名如下:

id, unit_id, unit_name, name_type_id

4 name_type_id (1,2,3,4)

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

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`
4

3 回答 3

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;
于 2013-09-04T14:47:21.897 回答
1
SELECT unit_id FROM Today_UNIT_NAMES WHERE name_type_id <> 4 AND unit_name = ''

最后一个条件是可选的,如果您需要 unit_name 为空

于 2013-09-04T14:48:07.457 回答
0

您可以在您的WHERE条款中指定要求:

SELECT unit_id
FROM Today_UNIT_NAMES
WHERE unit_name IS NULL
AND name_type_id = 4
ORDER BY unit_id ASC;
于 2013-09-04T14:47:34.397 回答