有一個Postgres數(shù)據(jù)庫和表有三個列。 數(shù)據(jù)結(jié)構(gòu)在外部系統(tǒng)所以我不能修改它。
創(chuàng)新互聯(lián)IDC提供業(yè)務(wù):資陽服務(wù)器托管,成都服務(wù)器租用,資陽服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動機(jī)房,聯(lián)通機(jī)房。每個對象由三行(被列element_id——行相同的值在本專欄中代表同一個對象),例如:
key value element_id-----------------------------------status active 1name exampleNameAAA 1city exampleCityAAA 1status inactive 2name exampleNameBBB 2city exampleCityBBB 2status inactive 3name exampleNameCCC 3city exampleCityCCC 3
我想要所有的值描述每個對象(名稱、狀態(tài)和城市)。
對于這個示例的輸出應(yīng)該是:
exampleNameAAA | active | exampleCityAAA exampleNameBBB | inactive | exampleCityBBB exampleNameCCC | inactive | exampleCityCCC
我知道如何加入兩行:
select a.value as name, b.value as statusfrom the_table a join the_table b on a.element_id = b.element_id and b."key" = 'status'where a."key" = 'name';
怎么可能加入三列?