找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 数据库 查看内容

给定一个值,求组合该值的组合集合

2009-12-14 18:36| 发布者: admin| 查看: 21| 评论: 0|原作者: 天仙子

◆怎样随机取得相同项目名称的数据,条件是只......


怎样随机取得相同项目名称的数据,条件是只要取得的项目名称数量之和等于某个数(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 行)

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 23:38 , Processed in 0.138506 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部