これはので、ここで私が働いているテーブルは、SQL Serverの問題である(注:列NAME
はコードセットの名前です):SQLで重複を削除するために使用された内部クエリの重複を削除するにはどうすればよいですか?
表:コードセット
CODE_SET_ID | NAME
-------------+-----------
1 | JACKETS
2 | PANTS
3 | SHIRTS
表:CODE SET詳細
CODE | DESCRIPTION | CODE_SET_ID
---------------+----------------+------------
BLUE | BLUE JACKET | 1
BLUE | BLUE JACKET | 1
GREEN | GREEN JACKET | 1
GREEN | GREEN JACKET | 1
PURPLE | PURPLE JACKET | 1
私は現在書いたクエリがすべての重複コードはコードを設定し、どのコードセット見つかりますこれらのコードセットコードも属しています。次のクエリは、私が唯一JACKETS
を得るように
JACKETS, BLUE, 2
JACKETS, GREEN, 2
がどのように私は次のクエリの周りに別のクエリを包むでしょう返すでしょうか?
SELECT
bcs.NAME, bcsd.CODE, bcsd.DESCRIPTION, COUNT(*)
FROM
CODE_SET_DETAIL as bcsd
INNER JOIN
CODE_SET as bcs ON bcsd.CODE_SET_ID = bcs.CODE_SET_ID
GROUP BY
bcs.NAME, bcsd.CODE, bcsd.DESCRIPTION
HAVING
COUNT(*) > 1
はこれまでのところ、私はWHERE EXISTS
を使用してみましたが、まだ結果セットが正しく表示されません。
テーブルのサンプルが列名のSQLと一致しない、または出力がクエリと一致するのはなぜですか? – NetMage
'GROUP BY'の前に' WHERE bcs.NAME = 'JACKET'を入れてください。 – Eric