0
我工作的報告有以下類型的表(值是編造的演示的緣故):的Oracle SQL Developer - 轉表留下多行對同一ID
___________________________________________
|__ID__|_Feline_|_Canine_|_Avian__|_Rodent_|
|_1001_|_Snow___|_[null]_|_[null]_|_[null]_|
|_1001_|_[null]_|_Spike__|_[null]_|_[null]_|
|_1001_|_[null]_|_[null]_|_Polly__|_[null]_|
|_1001_|_[null]_|_[null]_|_[null]_|_Jumper_|
|_1001_|_Max____|_[null]_|_[null]_|_[null]_|
什麼我想這樣做,是將值壓縮到單行(使用MAX(CASE)和GROUP BY ID工作)中,但如果出現更多次出現的相同ID,則還會有另一行,在這種情況下,「貓「值(如果使用GROUP BY ID,則不會發生):
___________________________________________
|__ID__|_Feline_|_Canine_|_Avian__|_Rodent_|
|_1001_|_Snow___|_Spike__|_Polly__|_Jumper_|
|_1001_|_Max____|_Spike__|_Polly__|_Jumper_|
我最好的選擇是可能有MAX(CASE)對於Feline1和MIN(CASE)對於Feline2來說,它們將它們放到同一行(不同列)而不是兩行(同一列),但我想知道是否有辦法獲得上述結果。
非常感謝!只要名稱不重複列內 -
聽起來像你想要某種'CROSS JOIN'。可能在某種「SELECT DISTINCT」中被subqueried。 –