有关SQL查询结果横向显示问题 30

SQL原查询结构shopidjiageceneterscannu730377-2852199611730377-2865199611730377-273319961173... SQL原查询结构

shopid jiage ceneter scannu
730 377-2852 19961 1
730 377-2865 19961 1
730 377-2733 19961 1
730 377-2738 19961 2
731 377-2865 19961 1
731 377-2733 19961 1
731 377-2738 19961 1

想变为横向显示

CENETEID PICK_SHOP 横向显示内容
19961 730 377-2852;1/377-2865;1/377-2733;1/377-2738;2/ jiage个数合计 SCANNU数据合计
19961 731 377-2852;1/377-2865;1/377-2733;1/377-2738;1/ jiage个数合计 SCANNU数据合计
展开
 我来答
chanhuilewo
2010-08-19 · TA获得超过214个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:198万
展开全部
这个需要关注 ,能解决但不是一个SQL就行的

建几个临时表插数才行

一个SQL解决不了啊

我也很困惑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
西安_白小鹏
2010-08-19 · TA获得超过436个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:92万
展开全部
假如你的表结构如下:
create table tb_test
(
shopid varchar(100),
jiage varchar(100),
ceneter varchar(100),
scannu varchar(100)
)

可以创建如下函数:

create function fn_test(@ceneteid varchar(100),@shopid varchar(100))
returns varchar(6000)
as
begin
declare @str varchar(6000)
set @str=''
select @str=@str+jiage+';'+scannu+ '/' from tb_test where ceneter=@ceneter and shopid=@shopid
return @str
end

然后用如下SQL语句进行查询即可。
select ceneteid as CENETEID,
shopid as PICK_SHOP,
dbo.fn_test(ceneteid,shopid) as 横向显示内容,
count(distinct scannu) as jiage个数合计,
count(distinct jiage) as SCANNU数据合计
from tb_test
group by ceneteid,shopid

如果你的表的字段定义的不是字符型,在函数及查询语句中,用convert函数进行转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式