| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1620 人关注过本帖
标题:请问,能否在查询结果中,显示 … 谢谢
只看楼主 加入收藏
mansohu
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2013-3-20
结帖率:20.69%
收藏
 问题点数:0 回复次数:1 
请问,能否在查询结果中,显示 … 谢谢
TB:
      FD1          FD2          FD3
      1             2           3
      1             2           3
      1A           2A           3A
      1A           2A           3A
      1A           2B           3A
      1B           2A           3A
      1B           2A           3B
      1B           2A           3C

我想得到以下查询结果:
      FD1        FD2        FD3
      1           2          3
      1A                  3A
      1B          2A         

即在FD1的编组中,其它字段内容相同时显示内容,内容不同时显示“……”,请问应该如何写 SQL:
select ……From TB Group by FD1

谢谢!

[此贴子已经被作者于2017-1-3 14:18编辑过]

2017-01-03 14:16
mywisdom88
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:191
帖 子:3146
专家分:8408
注 册:2015-3-25
收藏
得分:0 
--测试数据
if object_id('tempdb..#tb') is not null
drop table #tb

create table #tb(fd1 varchar(10),fd2 varchar(10),fd3 varchar(10))
insert into #tb
select '1', '2', '3' union all
select '1', '2', '3' union all
select '1A','2A','3A' union all
select '1A','2A','3A' union all
select '1A','2B','3A' union all
select '1B','2A','3A' union all
select '1B','2A','3B' union all
select '1B','2A','3C'

--查询语句
select distinct t0.fd1,
       case when then t0.fd2 else '...' end as fd2,
       case when then t0.fd3 else '...' end as fd3
from (select fd1,max(fd2) as fd2,max(fd3) as fd3 from #tb group by fd1)t0
left join (select fd1,count(fd1) as cnt1 from #tb group by fd1)t1 on t0.fd1=t1.fd1
left join (select fd1,count(fd2) as cnt2 from #tb group by fd1,fd2)t2 on t0.fd1=t2.fd1
left join (select fd1,count(fd3) as cnt3 from #tb group by fd1,fd3)t3 on t0.fd1=t3.fd1
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-01-03 16:00
快速回复:请问,能否在查询结果中,显示 … 谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015233 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved