-1

参照ID列を持つテーブルがあります。この参照ID列には、特定の行の主キーが含まれています。ここで、テーブルからNULLを含む残りのすべての値をフィルタリングしたいと思います。
テーブル

PK   REFERENCE_ID
1        1
2        NULL
3        3
4        NULL
5        ab

以下のクエリは、reference_idを持つすべての結果をもたらしますが、REFERENCE_ID列のすべてのNULL値をフェッチしたい

select count(*)from table where table.ID not in (select table.reference_id from person)

私が使用したこともありますが、使用しません。また、PK以外のREFERENCE_ID列からNULL値を含むすべての値をフェッチするため、PKを参照して検索することが重要です。

4

2 に答える 2

1

あなたが何をしようとしているのかまだはっきりしないかもしれませんが、元のクエリの要素を と組み合わせるとうまくいきますIS NULLか?

SELECT PK, Reference_ID
FROM table 
WHERE table.Reference_ID NOT IN (select PK from table)
  OR table.Reference_ID IS NULL

編集: Reference_ID フィールドの「ab」についてはわかりません。Reference_ID が varchar または同様のフィールドである場合、代わりに次のものが必要になることがあります。

SELECT PK, Reference_ID
FROM table 
WHERE table.Reference_ID NOT IN (select cast(PK as varchar(5)) from table)
  OR table.Reference_ID IS NULL
于 2013-02-13T04:33:22.213 に答える
0

やってみました:

SELECT Reference_ID
FROM Table
WHERE Reference_ID IS NULL;
于 2013-02-13T00:03:35.840 に答える