请大家帮忙分析一下,这样的效果怎么实现?
数据
终端名称 地址 兑换赠品 兑换数量 兑换单号 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 螺丝 11 957188 铁钉 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 钳子 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 手电筒 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 锉刀 1 21-0169453
鑫光超市 南京西路 螺丝刀 10 957259 铁皮剪 1 21-0169406
鑫光超市 南京西路 螺丝刀 10 957259 手虎钳 2 21-0169406
阳光批发 邯郸路 电锯 3 957181 锯片 3 21-0169483
新城旧货 贵阳路 划规 10 957192 美工刀 2 21-0169484
效果1
终端名称 地址 兑换赠品 兑换数量 兑换单号 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 螺丝 11 957188 铁钉 1 21-0169453
钳子 1 21-0169453
手电筒 1 21-0169453
锉刀 1 21-0169453
鑫光超市 南京西路 螺丝刀 10 957259 铁皮剪 1 21-0169406
手虎钳 2 21-0169406
阳光批发 邯郸路 电锯 3 957181 锯片 3 21-0169483
新城旧货 贵阳路 划规 10 957192 美工刀 2 21-0169484效果2
终端名称 地址 兑换赠品 兑换数量 兑换单号
顺源商贸 北京西路 螺丝 11 957188
顺源商贸 北京西路 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 铁钉 1 21-0169453
顺源商贸 北京西路 钳子 1 21-0169453
顺源商贸 北京西路 手电筒 1 21-0169453
顺源商贸 北京西路 锉刀 1 21-0169453
鑫光超市 南京西路 兑换赠品 兑换数量
鑫光超市 南京西路 螺丝刀 10 957259
鑫光超市 南京西路 赠品名称 赠品数量 订单单号
鑫光超市 南京西路 铁皮剪 1 21-0169406
鑫光超市 南京西路 手虎钳 2 21-0169406
阳光批发 邯郸路 兑换赠品 兑换数量 兑换单号
阳光批发 邯郸路 电锯 3 957181
阳光批发 邯郸路 赠品名称 赠品数量 订单单号
阳光批发 邯郸路 锯片 3 21-0169483
新城旧货 贵阳路 兑换赠品 兑换数量 兑换单号
新城旧货 贵阳路 划规 10 957192
新城旧货 贵阳路 赠品名称 赠品数量 订单单号
新城旧货 贵阳路 美工刀 2 21-0169484
数据
终端名称 地址 兑换赠品 兑换数量 兑换单号 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 螺丝 11 957188 铁钉 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 钳子 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 手电筒 1 21-0169453
顺源商贸 北京西路 螺丝 11 957188 锉刀 1 21-0169453
鑫光超市 南京西路 螺丝刀 10 957259 铁皮剪 1 21-0169406
鑫光超市 南京西路 螺丝刀 10 957259 手虎钳 2 21-0169406
阳光批发 邯郸路 电锯 3 957181 锯片 3 21-0169483
新城旧货 贵阳路 划规 10 957192 美工刀 2 21-0169484
效果1
终端名称 地址 兑换赠品 兑换数量 兑换单号 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 螺丝 11 957188 铁钉 1 21-0169453
钳子 1 21-0169453
手电筒 1 21-0169453
锉刀 1 21-0169453
鑫光超市 南京西路 螺丝刀 10 957259 铁皮剪 1 21-0169406
手虎钳 2 21-0169406
阳光批发 邯郸路 电锯 3 957181 锯片 3 21-0169483
新城旧货 贵阳路 划规 10 957192 美工刀 2 21-0169484效果2
终端名称 地址 兑换赠品 兑换数量 兑换单号
顺源商贸 北京西路 螺丝 11 957188
顺源商贸 北京西路 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 铁钉 1 21-0169453
顺源商贸 北京西路 钳子 1 21-0169453
顺源商贸 北京西路 手电筒 1 21-0169453
顺源商贸 北京西路 锉刀 1 21-0169453
鑫光超市 南京西路 兑换赠品 兑换数量
鑫光超市 南京西路 螺丝刀 10 957259
鑫光超市 南京西路 赠品名称 赠品数量 订单单号
鑫光超市 南京西路 铁皮剪 1 21-0169406
鑫光超市 南京西路 手虎钳 2 21-0169406
阳光批发 邯郸路 兑换赠品 兑换数量 兑换单号
阳光批发 邯郸路 电锯 3 957181
阳光批发 邯郸路 赠品名称 赠品数量 订单单号
阳光批发 邯郸路 锯片 3 21-0169483
新城旧货 贵阳路 兑换赠品 兑换数量 兑换单号
新城旧货 贵阳路 划规 10 957192
新城旧货 贵阳路 赠品名称 赠品数量 订单单号
新城旧货 贵阳路 美工刀 2 21-0169484
解决方案 »
- 不用updat 如何更新值为空的字段
- 关于一个统计语句!还是统计语句!!!!!!!!!!!!!!!!!!!!!!!!!!
- 急!!!!!!!!存储过程中的字符串相加为何取不到值???
- SQL Server 2000 的安装问题。
- sql server 2005的复制问题:快照代理安全性怎么配置?
- 谁知道回贴之后,贴子置顶的SQL怎么写的???
- 一个联表查询问题
- 入门学习!sql server自带的例子怎么配置才能运行?help!
- 急!简单计算加更新语句?请帮帮忙。
- xampp#2002无法登录mysql服务器解决办法
- 如何将txt信息插入sql2005数据库里某表的某些字段
- 为什么“不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。”
case when row=1 then 地址 else '' end,
case when row=1 then 兑换赠品 else '' end,
case when row=1 then 兑换数量 else '' end,
case when row=1 then 兑换单号 else '' end,
赠品名称,赠品数量,订单单号
from cte
顺源商贸 螺丝 0 957188 铁钉 1 21-0169453
11 0 钳子 1 21-0169453
0 0 手电筒 1 21-0169453
0 0 锉刀 1 21-0169453
新城旧货 划规 0 957192 美工刀 2 21-0169484
鑫光超市 螺丝刀 0 957259 铁皮剪 1 21-0169406
10 0 手虎钳 2 21-0169406
阳光批发 电锯 0 957181 锯片 3 21-0169483
终端名称 兑换赠品 0 NULL 赠品名称 NULL 订单单号这条语句达不到理想效果,能否做出效果2?
--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:数据
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'数据')
AND type in (N'U'))
DROP TABLE 数据
GO---->建表
create table 数据([终端名称] varchar(20),[地址] varchar(20),[兑换赠品] varchar(20),[兑换数量] varchar(20),[兑换单号] varchar(20),[赠品名称] varchar(20),[赠品数量] varchar(20),[订单单号] varchar(20))
insert 数据
select '顺源商贸','北京西路','螺丝',11,957188,'铁钉',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'钳子',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'手电筒',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'锉刀',1,'21-0169453' union all
select '鑫光超市','南京西路','螺丝刀',10,957259,'铁皮剪',1,'21-0169406' union all
select '鑫光超市','南京西路','螺丝刀',10,957259,'手虎钳',2,'21-0169406' union all
select '阳光批发','邯郸路','电锯',3,957181,'锯片',3,'21-0169483' union all
select '新城旧货','贵阳路','划规',10,957192,'美工刀',2,'21-0169484'
GO--> 查询结果select * from (
SELECT distinct [终端名称],[地址],[兑换赠品],[兑换数量],[兑换单号],'1'as dh,4 as dd FROM 数据
union all
SELECT distinct [终端名称],[地址],'[兑换赠品]','[兑换数量]','[兑换单号]',2,3 FROM 数据
union all
SELECT [终端名称],[地址],[赠品名称],[赠品数量],[订单单号],'3',2 FROM 数据
union all
SELECT distinct [终端名称],[地址],'[赠品名称]','[ 赠品数量]','[订单单号]',4,1 FROM 数据
)t order by [终端名称],[地址],dh desc,dd--> 删除表格
--DROP TABLE 数据
顺源商贸 北京西路 [赠品名称] [ 赠品数量] [订单单号] 4 1
顺源商贸 北京西路 铁钉 1 21-0169453 3 2
顺源商贸 北京西路 钳子 1 21-0169453 3 2
顺源商贸 北京西路 手电筒 1 21-0169453 3 2
顺源商贸 北京西路 锉刀 1 21-0169453 3 2
顺源商贸 北京西路 [兑换赠品] [兑换数量] [兑换单号] 2 3
顺源商贸 北京西路 螺丝 11 957188 1 4
新城旧货 贵阳路 [赠品名称] [ 赠品数量] [订单单号] 4 1
新城旧货 贵阳路 美工刀 2 21-0169484 3 2
新城旧货 贵阳路 [兑换赠品] [兑换数量] [兑换单号] 2 3
新城旧货 贵阳路 划规 10 957192 1 4
鑫光超市 南京西路 [赠品名称] [ 赠品数量] [订单单号] 4 1
鑫光超市 南京西路 铁皮剪 1 21-0169406 3 2
鑫光超市 南京西路 手虎钳 2 21-0169406 3 2
鑫光超市 南京西路 [兑换赠品] [兑换数量] [兑换单号] 2 3
鑫光超市 南京西路 螺丝刀 10 957259 1 4
阳光批发 邯郸路 [赠品名称] [ 赠品数量] [订单单号] 4 1
阳光批发 邯郸路 锯片 3 21-0169483 3 2
阳光批发 邯郸路 [兑换赠品] [兑换数量] [兑换单号] 2 3
阳光批发 邯郸路 电锯 3 957181 1 4********/
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:数据
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'数据')
AND type in (N'U'))
DROP TABLE 数据
GO---->建表
create table 数据([终端名称] varchar(20),[地址] varchar(20),[兑换赠品] varchar(20),[兑换数量] varchar(20),[兑换单号] varchar(20),[赠品名称] varchar(20),[赠品数量] varchar(20),[订单单号] varchar(20))
insert 数据
select '顺源商贸','北京西路','螺丝',11,957188,'铁钉',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'钳子',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'手电筒',1,'21-0169453' union all
select '顺源商贸','北京西路','螺丝',11,957188,'锉刀',1,'21-0169453' union all
select '鑫光超市','南京西路','螺丝刀',10,957259,'铁皮剪',1,'21-0169406' union all
select '鑫光超市','南京西路','螺丝刀',10,957259,'手虎钳',2,'21-0169406' union all
select '阳光批发','邯郸路','电锯',3,957181,'锯片',3,'21-0169483' union all
select '新城旧货','贵阳路','划规',10,957192,'美工刀',2,'21-0169484'
GO--> 查询结果select [终端名称],[地址],[兑换赠品],[兑换数量],[兑换单号] from (
SELECT distinct [终端名称],[地址],'兑换赠品' as 兑换赠品 ,'兑换数量' as 兑换数量,'兑换单号' as 兑换单号,1 as dh,4 as dd FROM 数据
union all
SELECT distinct [终端名称],[地址],[兑换赠品],[兑换数量],[兑换单号],'2',3 FROM 数据
union all
SELECT distinct [终端名称],[地址],'赠品名称','赠品数量','订单单号',3,2 FROM 数据
union all
SELECT [终端名称],[地址],[赠品名称],[赠品数量],[订单单号],'4',1 FROM 数据
) t order by [终端名称],[地址],dh ,dd desc--> 删除表格/*
终端名称 地址 兑换赠品 兑换数量 兑换单号
顺源商贸 北京西路 兑换赠品 兑换数量 兑换单号
顺源商贸 北京西路 螺丝 11 957188
顺源商贸 北京西路 赠品名称 赠品数量 订单单号
顺源商贸 北京西路 铁钉 1 21-0169453
顺源商贸 北京西路 钳子 1 21-0169453
顺源商贸 北京西路 手电筒 1 21-0169453
顺源商贸 北京西路 锉刀 1 21-0169453
新城旧货 贵阳路 兑换赠品 兑换数量 兑换单号
新城旧货 贵阳路 划规 10 957192
新城旧货 贵阳路 赠品名称 赠品数量 订单单号
新城旧货 贵阳路 美工刀 2 21-0169484
鑫光超市 南京西路 兑换赠品 兑换数量 兑换单号
鑫光超市 南京西路 螺丝刀 10 957259
鑫光超市 南京西路 赠品名称 赠品数量 订单单号
鑫光超市 南京西路 铁皮剪 1 21-0169406
鑫光超市 南京西路 手虎钳 2 21-0169406
阳光批发 邯郸路 兑换赠品 兑换数量 兑换单号
阳光批发 邯郸路 电锯 3 957181
阳光批发 邯郸路 赠品名称 赠品数量 订单单号
阳光批发 邯郸路 锯片 3 21-0169483
*/
但我的数据来自一长串的查询语句而来的,有好几个表连接而得到的.每条查询中的FROM 后都要跟上长串查询语句吗?
但我的数据来自一长串的查询语句而来的,有好几个表连接而得到的.每条查询中的FROM 后都要跟上长串查询语句吗?
但我的数据来自一长串的查询语句而来的,有好几个表连接而得到的.每条查询中的FROM 后都要跟上长串查询语句吗?