在线咨询
QQ咨询
服务热线
服务热线:13125520620
TOP

给定一个值,求组合该值的组合集合-数据库

发布时间:2011-11-12 浏览:4740

怎样随机取得相同项目名称的数据,条件是只要取得的项目名称数量之和等于某个数(2或者3))
表结构(表名称:item):

项目名称    数量  
 a            1    

 a            2
 
 a            3
 
 a            4
 
 a            5

...

说明如下:

我要从表item里面查询出项目名称='a' and sum(数量)=6 的数据
随便几条数据都可以,只要符合上面的条件都行
比如可以查询出的结果为:
前面三条数据(项目名称='a' and sum(数量)=6)
也可以是第一条和最后一条,
也可以是第二条和倒数第二条

用sql语句可以实现吗?
我都整疯了?

--解决办法:

--创建测试环境
declare @t table
(项目名称 varchar(20),数量 int)
insert @t
select 'a',1 union all
select 'a',2 union all
select 'a',3 union all
select 'a',4 union all
select 'a',5

--查询
 select *  from @t a join @t b
on a.项目名称=b.项目名称 and a.数量<>b.数量
where a.项目名称='a' and a.数量+b.数量=6

--结果


项目名称                 数量          项目名称                 数量         
-------------------- ----------- -------------------- -----------
a                    5           a                    1
a                    4           a                    2
a                    2           a                    4
a                    1           a                    5

(所影响的行数为 4 行)

TAG
软件定制,软件开发,瀚森HANSEN
0
该内容对我有帮助