sql 将行转为列

sql to transpose rows to columns

我有一个 Oracle 视图(从多个表连接),就像第一个屏幕截图一样。 address_type 应该始终是所有者或 属性。我想得到像第二个屏幕截图那样的结果。如何使用 SQL 来做到这一点?抱歉,我是 SQL.

的初学者

您可以使用内部联接:

select tab1.address_id, tab1.address as owner_address,
       tab1.city as owner_city, tab1.state as owner_state, 
       tab1.zip as owner_zip, tab2.address as property_address,
       tab2.city as property_city, tab2.state as property_state, 
       tab2.zip as property_zip  
from tab1
full outer join tab2
on tab1.address_id = tab2.address_id 
where tab1.address_type = 'owner'
      and tab2.address_type = 'property'

tab1 包含所有 owner 信息,tab2 包含所有 属性 信息。您可以使用 address_id.

加入他们

抱歉我无法测试!