Microsoft SQL Server 2005 を使用しています。
同じ文字列メッセージを持つ列のみを含むテーブルとのクロス結合で、重複する値に関する列を含むテーブルを出力したいと考えています。「文字列メッセージ」を使用したクロス結合が適切な方法であると思います。
次のスクリプトが機能しないのはなぜですか?
DECLARE @IN_CodesTable TABLE
(
CodesValues NVARCHAR(60)
)
INSERT INTO @IN_CodesTable VALUES('CODE_BB^&')
INSERT INTO @IN_CodesTable VALUES('CODE_1234')
INSERT INTO @IN_CodesTable VALUES('CODE_BB^&')
INSERT INTO @IN_CodesTable VALUES('CODE_$%^&')
INSERT INTO @IN_CodesTable VALUES('CODE_BB^&')
INSERT INTO @IN_CodesTable VALUES('CODE_BB^&')
INSERT INTO @IN_CodesTable VALUES('CODE_1234')
SELECT *
FROM
(
SELECT DISTINCT CodesTable
FROM @IN_CodesTable
WHERE CodesTable IN
( SELECT CodesValues
FROM @IN_CodesTable
GROUP BY CodesTable
HAVING COUNT(*) > 1
)
)
CROSS JOIN
(
SELECT 'You have duplicates!' AS DupMessage
)