当前位置: 代码迷 >> Sql Server >> sql联查,该怎么处理
  详细解决方案

sql联查,该怎么处理

热度:26   发布时间:2016-04-24 09:11:58.0
sql联查
表1:
A1    B1   C1    D1    F1
表2:
A2    B2     C2    D2
表3:
A3    B3    C3    D3


想要的查询结果是
A1 B1 C1 D1 F1 C2 C3                  (条件是表1、2、3中A1、2、3字段的值相等)

求大神指点
------解决思路----------------------
--只考虑表1有值的情况
SELECT T1.A1
,T1.B1,T1.C1,T1.F1
,T2.C2
,T3.C3
FROM 表1 T1
FULL JOIN 表2 T2 ON T1.A1=T2.A2
FULL JOIN 表3 T3 ON T1.A1=T3.A3
--考虑全连接的情况
SELECT COALESCE(T1.A1,T2.A2,T3.A3)A1
,T1.B1,T1.C1,T1.F1
,T2.C2
,T3.C3
FROM 表1 T1
FULL JOIN 表2 T2 ON T1.A1=T2.A2
FULL JOIN 表3 T3 ON ISNULL(T1.A1,T2.A2)=T3.A3
你看下哪种情况适合你
  相关解决方案