易截截图软件、单文件、免安装、纯绿色、仅160KB

MSSQL问题

根据用户session里的ID,查得该用户的所有订购明细

订单表结果如下
id    signup_number    products
1    2009001213      2,3,5,7
2    2009001213      2,3,5
3    2009001213      2
4    2009001557      4,5,6
5    2009001557      4,5
----------------------------------------
此表不是我设计的,询问后得知,
同一张单子 比如2009001213, 三条记录,代表2号商品订了3个,3号商品定了2个,5号2个,7号一个
同理,1557的单子 4号商品订了2个 5号2个 6号1个

对应的编号在产品表里可以查到商品的名字价格 还可以统计出每张订单各个商品数量是多少
又是拆分

缺少产品表结构+产品表数据+想要的结果

如果有产品表就不用拆直接EXITTS分组行了

商品表
基本的ID 商品名字 价格

SQL code:

--> 测试数据:[TB]
if object_id('[TB]') is not null drop table [TB]
create table [TB]([id] int,[signup_number] int,[products] varchar(7))
insert [TB]
select 1,2009001213,'2,3,5,7' union all
select 2,2009001213,'2,3,5' union all
select 3,2009001213,'2' union all
select 4,2009001557,'4,5,6' union all
select 5,2009001557,'4,5'

select * from [TB]


select signup_number,
products=substring(a.products,b.number,charindex


相关问答:

MSSQL数据库表设计问题!

我设计的
用户信息表  抄表数据表  历史抄表数据表
我的想法是 每月初  系统自动在 抄表数据表中生产 与用户关联的数据 用于抄表员的录入,当抄表员全部录入后 把数据全部复制到历史表中 通时 ......

类似 mssql select top ...的实现

在ms sqlserver中,取满足条件的前几行可以使用select top语句,但在oracle中并没有这样的语句,
我从网上看到了一种实现

select * (select * from talbename) where rownum <=100 order by rownum as ......

mssql如何只显示有重复的数据呢?

mssql如何只显示有重复的数据呢?
有重复的数据就显示一条重复的数据,没重复的不显示,查询语句该怎么写呢?谢谢

SQL code:
select distinct *
from tablename
where id in (
selec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号