1

次の列名を持つToday_UNIT_NAMESというテーブルがあります。

id, unit_id, unit_name, name_type_id

4 つの name_type_id (1,2,3,4)があります。

レコードに存在するname_type_id=4のunit_nameを持たない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 に答える