首页 新闻 赞助 找找看

sql 查询后怎样汇总合并id字段

0
悬赏园豆:10 [已解决问题] 解决于 2020-06-01 17:09

想把两个字段合并成一个字段,重复的和有null值的都变成一列

董七二的主页 董七二 | 初学一级 | 园豆:143
提问于:2020-06-01 10:29
< >
分享
最佳答案
0

说一下你想要的效果吧,比如,合并后的结果,前5行该是什么,第6行该是什么,第7行呢?如果两列都有,肯定是一样?

收获园豆:10
顾晓北 | 专家六级 |园豆:10844 | 2020-06-01 11:01

我是用全连接查出来的所以肯定会有三种情况:两列id相同的,aid为NULL bid有值,或bid为NULL aid有值;
想要的效果就是在id相同的情况子下取其中一个id当其中一列有值而另一列没有值时取有值的id 最后汇总成一列不重复

董七二 | 园豆:143 (初学一级) | 2020-06-01 11:05

@董七二: 有没有优先级?这个很容易;case when就能解决。。。

顾晓北 | 园豆:10844 (专家六级) | 2020-06-01 11:26

@顾晓北: 没有的。case when到新字段??我试试

董七二 | 园豆:143 (初学一级) | 2020-06-01 11:29

试了试case when 解决不了双字段 最后用了一个isnull解决了!不过还是要谢谢大佬

董七二 | 园豆:143 (初学一级) | 2020-06-01 17:09

@董七二: 。。。

select (
  case when ISNULL(t.aid) then t.bid else t.aid
) as id from table t

isnull仅仅是需要用到的一个函数,最终的方式还是case when

顾晓北 | 园豆:10844 (专家六级) | 2020-06-01 17:32

@顾晓北: 哈哈没想到~

SELECT DISTINCT
ISNULL(a.projectid, b.projectid) as projectid
FROM dm_fr_yx_coopprojectmonthfill a
full JOIN dm_my_yx_salesdetail b
ON a.projectid = b.projectid

这是我写的不过好像也实现了

董七二 | 园豆:143 (初学一级) | 2020-06-02 00:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册