开发者社区> 问答> 正文

SQL-左联接表本身

简而言之,要保留联接表本身,但仅保留ID为1或2的行

表:

id f1 1 a 1 b 2 a 3 a 预期结果

1 2 a a 1 2 b null 不起作用:

select t1.id,t2.id, t1.f1,t2.f1 from table t1 left join table t2 on t1.f1 = t2.f1 and t1.id = 1 and t2.id = 2 任何想法 ?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 10:00:15 227 0
1 条回答
写回答
取消 提交回答
  • 这个结构有点奇怪,但是您需要过滤第一个表where:

    select t1.id, t2.id, t1.f1, t2.f1 from table t1 left join table t2 on t1.f1 = t2.f1 and t2.id = 2 where t1.id = 1 ; a的一般规则left join是第一个表的条件在where子句中。该子表中的第二个条件on。

    2019-11-18 10:00:41
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载