sql表连接提问:B表中的字段需要依赖a字段进行关联,如何通过这两张表关联映射呢

假如有两张表
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