求一个sql语句,条件看里面,谢谢! 我有表A,表B,两张表都有column1字段(这个字段是两个表的关联字段),我需要的sql语句是:表A的column1字段不为空时,增加条件A.column1=B.column1;为空时,不加条件。这样的sql怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 where A.column1=B.column1 and A.column1 is not null a.column1 is null or a.column1=b.column1这么简单,不是你说错了吧。 你要的好像就是一个外连接 where a.column1=b.column1(+) where A.column1=B.column1 or A.column1 is null 1.你是想把A与b表的匹配的查出来 以及A表中有的B表无的也查出来A.column1=B.column1(+)(左连接)2或许是这样A.column1=B.column1 or A.column1 is null where decode(nvl(A.column1,1,decode(A.column1,B.column1,1)))=1; --上面写错了,修正下,试试:where nvl(A.column1,1,decode(A.column1,B.column1,1))=1; 把B表作主表left join select a.* from bleft join aon a.column1=b.column1; select * from ta a left join tb bon A.column1=B.column1 from a right outer join bon (a.columl=b.colum1); select * from a unionselect a.* from a,b where a.columl=b.colum1 楼上意思说明白了,2肯定是不行呀A.column1=B.column1 or A.column1 is null这个语句中,第一个条件A.column1=B.column1就已经明确A.column1不可能为空了 Oracle中关于SQL列名的问题? ORACLE配置问题 急啊!!!! oracle创建用户,但在方案中没有对应的显示 向大家请教一个问题 ORACLE查询优化问题 请教一个查询语句 删除了ole db 提供程序 在过程中写完后一定要commit吗? 什么叫热备份,怎么实现? Orecle能与sqlserver2016对抗吗? 【求助】Oracle 数据库 配置 求解大于平均分的记录
这么简单,不是你说错了吧。
A.column1=B.column1(+)(左连接)
2或许是这样
A.column1=B.column1 or A.column1 is null
where decode(nvl(A.column1,1,decode(A.column1,B.column1,1)))=1;
--上面写错了,修正下,试试:
where nvl(A.column1,1,decode(A.column1,B.column1,1))=1;
select a.* from b
left join a
on a.column1=b.column1;
select * from ta a left join tb b
on A.column1=B.column1
right outer join b
on (a.columl=b.colum1);
union
select a.* from a,b where a.columl=b.colum1