2

値を持つ行に対応するすべての行を除外するにはどうすればよいnullですか?

-----------------------------------
| 0000139 | null | 10-01-2012 |
----------------------------------
| 0000139 | 95 | 10-02-2012 |
-----------------------------------

null のある行を除外するだけでなく、他のすべての行も除外したいのです。

4

2 に答える 2

4
;WITH x AS (SELECT key FROM dbo.table WHERE some_column IS NULL)
  SELECT col1, col2, etc.
  FROM dbo.table AS t
  WHERE NOT EXISTS (SELECT 1 FROM x WHERE key = t.key);
于 2013-04-18T20:24:46.790 に答える
0

以下のコードは、少なくとも 1 つのテスト スコアで NULL 値を持つすべての子供を識別し、クエリ結果から除外します。

CREATE TABLE #Test
    ( KidId INT NOT NULL
    , Score INT NULL);

INSERT INTO #Test (KidId, Score)
SELECT KidId
    , Score
FROM (VALUES
        (1, 100), (1, 50), (1, 10)
    , (2, NULL), (2, NULL), (2, NULL)
    , (3, 100), (3, NULL), (3, 40)) sub (KidId, Score);

SELECT *
FROM #Test trgt
WHERE NOT EXISTS
    (SELECT 1
    FROM #Test src
    WHERE trgt.KidId = src.KidId
    AND src.Score IS NULL);
于 2013-04-18T20:41:34.593 に答える