![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
谁能帮个忙写个SQl语句
表中数据为AnullBnullnullCnullD我想要的结果是ACBD请问怎么写?flyingFish211你的是正确的,但是我的问题还差一些,是我忽略了,完整的应该是...
表中数据为
A null
B null
null C
null D
我想要的结果是
A C
B D
请问怎么写?
flyingFish211 你的是正确的,但是我的问题还差一些,是我忽略了,完整的应该是这样的
表中数据为
A null null
B null null
null C null
null D null
我要的结果是
A C null
B D null
应该怎么写呢?
............
flyingFish211 可能我没有说明白,是这样的 null的那个字段有可能有数据的,就是说为null的字段有数据的时候显示数据,没有数据的时候为null,不知道我这样说你能不能明白,麻烦你了 呵呵 展开
A null
B null
null C
null D
我想要的结果是
A C
B D
请问怎么写?
flyingFish211 你的是正确的,但是我的问题还差一些,是我忽略了,完整的应该是这样的
表中数据为
A null null
B null null
null C null
null D null
我要的结果是
A C null
B D null
应该怎么写呢?
............
flyingFish211 可能我没有说明白,是这样的 null的那个字段有可能有数据的,就是说为null的字段有数据的时候显示数据,没有数据的时候为null,不知道我这样说你能不能明白,麻烦你了 呵呵 展开
3个回答
展开全部
什么数据库呢?
ORACLE /DB2 /MS SQL 2005以上可以这样写
假设表结构
TAB
fld1 fld2, fld3
SELECT t1.fld1, t2.fld2, t1.fld3
FROM (SELECT fld1, fld3, ROW_NUMBER() OVER(ORDER BY fld1) rk
FROM tab WHERE fld1 IS NOT NULL) t1 LEFT JOIN
(SELECT fld2, ROW_NUMBER() OVER(ORDER BY fld2) rk
FROM tab WHERE fld2 IS NOT NULL) t2
on t1.rk = t2.rk
用fld1的左联接就可以了
如果
A null null
B null null
null C null
null D null
c d对应的最后一列为null的话,那上面这个就可以的。AB后面对应的数据都可以显示出来的,不管你是null还是数据,你尝试下
ORACLE /DB2 /MS SQL 2005以上可以这样写
假设表结构
TAB
fld1 fld2, fld3
SELECT t1.fld1, t2.fld2, t1.fld3
FROM (SELECT fld1, fld3, ROW_NUMBER() OVER(ORDER BY fld1) rk
FROM tab WHERE fld1 IS NOT NULL) t1 LEFT JOIN
(SELECT fld2, ROW_NUMBER() OVER(ORDER BY fld2) rk
FROM tab WHERE fld2 IS NOT NULL) t2
on t1.rk = t2.rk
用fld1的左联接就可以了
如果
A null null
B null null
null C null
null D null
c d对应的最后一列为null的话,那上面这个就可以的。AB后面对应的数据都可以显示出来的,不管你是null还是数据,你尝试下
展开全部
加入你的表的字段是 id1 id2 表名为t
id1 id2
a null
b null
null c
null d
select (select id1 from t where id1 is not null),(select id2 from t where id2 is not null) from t
id1 id2
a null
b null
null c
null d
select (select id1 from t where id1 is not null),(select id2 from t where id2 is not null) from t
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果表为sjb字段为x,y
select a.x,b.y from (select x from sjb where x<>null ) a,(select y from sjb where y<>null) b
select a.x,b.y from (select x from sjb where x<>null ) a,(select y from sjb where y<>null) b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询