首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两张表中查询出不重复的记录,一条sql语句完成.多谢大家

2012-03-20 
两张表中查询出不重复的记录,一条sql语句完成.谢谢大家A.用户表ID用户名1a2b3c4dB.用户订单表ID用户ID订单

两张表中查询出不重复的记录,一条sql语句完成.谢谢大家
A.用户表

ID   用户名
1     a
2     b
3     c
4     d

B.用户订单表
ID   用户ID   订单内容
1     1               dfdfdf
2     1               dgfhfhf
3     1               gjhgmngb
4     4               ererer

我想从用户的订单表中查询出每个用户的一条订单内容.只需要一条.用一条sql语句怎么做呢....用Distinct的话.订单内容出不来.Distinct是对全部字段进行判断重复消除...但我又想输出订单内容.

[解决办法]
declare @a table(ID int, 用户ID int, 订单内容 varchar(190))
insert @a select 1 ,1, 'dfdfdf '
union all select 2 ,1 , 'dgfhfhf '
union all select 3 ,1, 'gjhgmngb '
union all select 4 ,4, 'ererer '


select 用户id, 订单内容 from @a a where not exists(select 1 from @a where 用户id=a.用户id and len(订单内容)> len(a.订单内容))
[解决办法]
select A.用户名,max(len(订单内容)) from A,B where A.ID=B.用户ID group by A.用户名--保留订单内容长的
select A.用户名,B.订单内容 from A,B where A.ID=B.用户ID group by A.用户名,B.订单内容--保留所有不重复的订单内容

热点排行