2016-09-22 74 views
0

我有2個表T1和T2。 我想根據T1的條件在T2中插入數據。需要根據表1元素條件將錶行轉換爲另一個表中的列

說T1具有數據

SID LinkName   
S1 Link1   
S1 Link2   
S2 Link1   
S2 Link2   
S2 Link3   
S3 Link2 

我想數據插入到具有上述鏈接1,鏈路2等爲列以這樣的方式,如果S1具有鏈路1,則其爲鏈接1列將顯示一個新的表T2是的,等等。 例爲S3,鏈接1和鏈接3列會顯示NO,鏈路2欄會顯示YES

SID Link1 Link2 Link3     
S1 Yes Yes No     
S2 Yes Yes Yes     
S3 No Yes No 

回答

0

只要運行一個查詢:

select sid, 
     max(case when LinkName = 'Link1' then 'yes' else 'no' end) as Link1, 
     max(case when LinkName = 'Link2' then 'yes' else 'no' end) as Link2, 
     max(case when LinkName = 'Link3' then 'yes' else 'no' end) as Link3 
from t1 
group by sid; 

您可以使用create table asinsert將此信息添加到另一個表。

注意:這使用'yes'>'no'這一事實。

相關問題