sql查询分解查询结果问题

aplesen 2010-08-18 05:38:49
表A的数据如下:
id 指令编号 出发点 目的地 车型 资源客户 结算客户 数量
1 001 a b 大众 安吉 安吉 2
2 001 a c 本田 安富 安富 3
3 001 b d 奇瑞 蚂蚁 蚂蚁 1
4 002 a b 大众 蚂蚁 安吉 5
现在我要写一条sql语句,把同一指令编号的数据分解出来,指令 001 查询出来的结果是:
出发点 目的地 车型 资源客户 结算客户 数量
a b 大众 安吉 安吉 1
a b 大众 安吉 安吉 1
a c 本田 安富 安富 1
a c 本田 安富 安富 1
a c 本田 安富 安富 1
b d 奇瑞 蚂蚁 蚂蚁 1
各位大仙,我该怎么写呢?
...全文
81 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
王向飞 2010-08-19
  • 打赏
  • 举报
回复
master..spt_values
系统表 具体作用不详。。。
aplesen 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 rmljoe 的回复:]
SQL code
declare @A table(id int,指令编号 varchar(6),出发点 varchar(6),目的地 varchar(6),车型 varchar(6),资源客户 varchar(6),结算客户 varchar(6),数量 int)

insert into @A select 1,'001','a','b','大众','安吉','安吉',2
union a……
[/Quote]
可以得出我要的结果 ,但是我有点不明白,能帮忙解释下么?
master..spt_values 这个是什么意思?
aplesen 2010-08-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 rmljoe 的回复:]
SQL code
declare @A table(id int,指令编号 varchar(6),出发点 varchar(6),目的地 varchar(6),车型 varchar(6),资源客户 varchar(6),结算客户 varchar(6),数量 int)

insert into @A select 1,'001','a','b','大众','安吉','安吉',2
union a……
[/Quote]

我试试先,网络问题来的完了,见谅
aplesen 2010-08-19
  • 打赏
  • 举报
回复
不敢乱用啊,万一出事怎么办
duanzhi1984 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 rmljoe 的回复:]
SQL code
declare @A table(id int,指令编号 varchar(6),出发点 varchar(6),目的地 varchar(6),车型 varchar(6),资源客户 varchar(6),结算客户 varchar(6),数量 int)

insert into @A select 1,'001','a','b','大众','安吉','安吉',2
union a……
[/Quote]

楼上的结果不错。可以用
rmljoe 2010-08-18
  • 打赏
  • 举报
回复
declare @A table(id int,指令编号 varchar(6),出发点 varchar(6),目的地 varchar(6),车型 varchar(6),资源客户 varchar(6),结算客户 varchar(6),数量 int)

insert into @A select 1,'001','a','b','大众','安吉','安吉',2
union all select 2,'001','a','c','本田','安富','安富',3
union all select 3,'001','b','d','奇瑞','蚂蚁','蚂蚁',1
union all select 4,'002','a','b','大众','蚂蚁','安吉',5


select
a.出发点,
a.目的地,
a.车型,
a.资源客户,
a.结算客户,
1 as 数量
from @A a
left join master..spt_values b
on b.number < a.数量
where b.type = 'P'
and a.指令编号 = '001' -- 查询条件指令 001


/*
出发点 目的地 车型 资源客户 结算客户 数量
------ ------ ------ ------ ------ -----------
a b 大众 安吉 安吉 1
a b 大众 安吉 安吉 1
a c 本田 安富 安富 1
a c 本田 安富 安富 1
a c 本田 安富 安富 1
b d 奇瑞 蚂蚁 蚂蚁 1

(6 row(s) affected)
*/


aplesen 2010-08-18
  • 打赏
  • 举报
回复
怎么没人了啊
aplesen 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sanny_txx 的回复:]
我帮你顶顶,顺便看看
[/Quote]
顺便想想吧
sanny_txx 2010-08-18
  • 打赏
  • 举报
回复
我帮你顶顶,顺便看看
aplesen 2010-08-18
  • 打赏
  • 举报
回复
千万不要沉了啊

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧