0

SQL Server 2008 と、この完全に架空のシナリオとデータを使用して、この (不完全な) データベース テーブルを転置するにはどうすればよいでしょうか?

(インコモ

最終的なテーブルには、その都市のすべての町と、その町と都市に関連付けられている 3 つの (異なる) 動物のすべての組み合わせが含まれている必要があります。

ここに画像の説明を入力

ピボットを検討していますが、この特定の問題を解決するソリューションが見つかりません。

概念を理解しようとしているので、この手法を実際のデータに適用できますが、これはもう少し複雑です。

4

1 に答える 1

1

必要な解決策は、テーブル自体を 3 回 CROSS JOIN してから、ダブルとトリプルを除外することです。

あなたはこのフィドルをチェックすることができます

コードは次のとおりです。

SELECT  T1.Country,
        T1.Town,
        T1.Pet AS Pet1,
        T2.Pet AS Pet2,
        T3.Pet AS Pet3
FROM    Pets T1
        CROSS JOIN Pets T2
        CROSS JOIN Pets T3
WHERE   T1.Pet <> T2.Pet
        AND T2.Pet <> T3.Pet 
        AND T1.Pet <> T3.Pet    
        AND T1.Country = T2.Country
        AND T1.Country = T3.Country
        AND T1.Town = T2.Town
        AND T1.Town = T3.Town
于 2013-08-09T15:57:49.610 に答える