重複したIDを持つテーブルがありますが、2番目の列には他の値があります。 DISTINCTを使用してすべての重複を削除する代わりに、IDと1列目と2列目の値を含む複数の列が必要です。ここで複数の列にSQL重複値があります
は、私が何を意味するかである:(結果になることがあります)
重複したIDを持つテーブルがありますが、2番目の列には他の値があります。 DISTINCTを使用してすべての重複を削除する代わりに、IDと1列目と2列目の値を含む複数の列が必要です。ここで複数の列にSQL重複値があります
は、私が何を意味するかである:(結果になることがあります)
オーケー、私はこれでそれを修正するために管理してきました:
WITH cte AS (SELECT top 1000 *, ROW_NUMBER()OVER(PARTITION BY
id ORDER BY id) as RN FROM dbo.books) SELECT top
1000 a.id, a.category
, b.category as category2
, c.category as category3
, d.category as category4
from cte a
LEFT join cte b
on a.id = b.id
and a.RN = b.RN -1
LEFT JOIN cte c
ON a.id = c.id
AND a.RN = c.RN -2
LEFT JOIN cte d
ON a.id = d.id
AND a.RN = d.RN -3
WHERE a.RN = 1
私がまだ直面している問題は、このクエリを別のクエリとマージする必要があることです。 私は単純なSELECT FROM WHEREステートメントを持っていますが、これに内部結合(dbo.books)している別のクエリを持っています。 私はこれらから1つのクエリを作ることはできません。 – Flexxzor
どの 'DBMS 'あなたも同様のタグを使用しています –
指定してください、結果のテーブル定数の列数です(つまり、あなたの可能なすべての値を知っていますrceテーブルの2番目の列)または動的な成長(2番目の列のすべての可能な値がわからない)。 – lospejos
2番目の列は動的である必要があります。 – Flexxzor