正 文

SQL Server一个特殊查询


www.7dspace.com  更新日期:2006-2-9 12:06:55  七度空间


      我有一个问题,是关于SQL Server 查询的,问题如下:

商品编码     数量    单价       供应商
001         20       0.3       工商企业
001         50       0.1       AB企业
002         100      1.2       OK企业
003         200      2.4       AB企业
003         500      1.2       SQ企业

       求一查询语句商品编码唯一,同一商品取单价为最低一条记录,结果如下:

商品编码     数量    单价       供应商
001         50       0.1       AB企业
002         100      1.2       OK企业
003         500      1.2       SQ企业

回答一:

--测试环境
Declare @t table(商品编码 varchar(10),数量 int,单价 decimal(4,2),供应商 varchar(10))
insert into @t select '001',20,0.3,'工商企业'
union all select '001',50,0.1,'AB企业'
union all select '002',100,1.2,'OK企业'
union all select '003',200,2.4,'AB企业'
union all select '003',500,1.2,'SQ企业'
--查询
select * from @t A
where not exists (select 1 from @t where 商品编码=A.商品编码  and 单价<A.单价)
--结果
商品编码       数量          单价     供应商      
---------- ----------- ------ ----------
001        50          .10    AB企业
002        100         1.20   OK企业
003        500         1.20   SQ企业

(所影响的行数为 3 行)

回答二:

Declare @t table(商品编码 varchar(10),数量 int,单价 decimal(4,2),供应商 varchar(10))
insert into @t select '001',20,0.3,'工商企业'
union all select '001',50,0.1,'AB企业'
union all select '002',100,1.2,'OK企业'
union all select '003',200,2.4,'AB企业'
union all select '003',500,1.2,'SQ企业'
union all select '004',500,1.2,'SQ企业'
union all select '003',500,1.2,'SQ企业'
select a.* from @t a,(select 商品编码,min(单价) aaa from @t group by 商品编码)as aa
where aa.商品编码=a.商品编码 and a.单价=aa.aaa


上一篇:Java API文档中文版
下一篇:DBA之路:Logminer实战记录
标题:SQL Server一个特殊查询 作者:未知 来源:论坛
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐