簡體   English   中英

如何基於SQL Server中的主表列值聯接表?

[英]How to join the table based on main table column value in SQL Server?

我有以下3表:

main_table:

id,name,table_type
1a,sas,1
2a,saw,1
3a,sdd,2

inst_table

id,inst_name,rating
1a,sdsdf,3
2a,erer,4

indv_table

id,ind_name,rating
3a,gbgbg,3
5a,gff,4

如何基於main_table column:'table_type'子表?

即,如果main table column: table_type = 1 ,則它必須與table:'inst_table'否則與table:'inst_table' table:'indv_table'

SELECT *
  FROM main_table t1
    INNER JOIN inst_table t2 ON T1.ID = T2.ID where t1.table_type=1
UNION ALL
  SELECT *
  FROM main_table T1
    INNER JOIN indv_table T3 ON T1.ID = T3.ID where t1.table_type=2

您可以將兩個子表都保留到main_table:

proc sql;
select m.*, i.*, d.* 
from main_table as m 
left join inst_table as i on m.id=i.id and m.table_type = 1
left join indv_table as d on m.id=d.id and m.table_type ne 1
;
quit;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM