假如有两张表
A表中字段如下:a、b、c、d
B表中字段如下:e、b、f、g
想要得到a字段,但是b表中没有,B表中的字段需要依赖a字段进行关联,如何通过这两张表关联映射呢?
不知楼主是否要的是这样的答案,可以使用 1=1 关联
WITH T1 AS (
SELECT 1 AS A ,'ASD' AS B ,NULL C ,'王' AS D UNION
SELECT 2 AS A ,'qazr' AS B ,'初一' C ,'李' AS D
),
T2 AS (
SELECT 11 AS e ,'ASD' AS f ,NULL g ,'王五' AS h UNION
SELECT 22 AS e ,'qqafzr' AS f ,'初一五' g ,'李前' AS h
)
SELECT *
FROM T1,T2
WHERE 1=1
执行结果:
1 ASD 王 11 ASD 王五
2 qazr 初一 李 11 ASD 王五
1 ASD 王 22 qqafzr 初一五 李前
2 qazr 初一 李 22 qqafzr 初一五 李前
首先你2个表是否有关联的字段,比如说A表中的b是否等于B表中的b,如果相等,就可以使用左连,如果2个表没有任何字段是相互关联的。那你也没法做关联呀,做关联,首先得有关联的字段,关联有一对一,一对多,多对多等等关联,
SELECT table1.a from table2 LEFT JOIN table1 WHERE table1.b =table2.b
select * from B b left join A a where b.b=a.b;
先找找看有没有中间表
通过中间表互相关联
SELECT A.a from B LEFT JOIN A on A.b = B.b