读书人

问个多表查询的sql解决办法

发布时间: 2012-01-24 23:11:55 作者: rapoo

问个多表查询的sql
表A的结构,用户记录

ID Sex
1 男
2 女
.....
______________________________________________

表B的结构,消费记录

ID Trademony
2 100
1 500
.....

两个表中字段ID是一一对应的,表B记录用户每次的消费记录。
现在要得到“男性”用户消费记录大于200的人的列表,怎么写这个sql语句比较好,望不吝赐教

[解决办法]
SELECT [ID]
FROM 表B
WHERE [ID] IN (SELECT [ID] FROM 表A WHERE Sex = '男 ')
GROUP BY [ID]
HAVING SUM(Trademony) > 200
[解决办法]
select a.* from a inner join (select distinct id from b where Trademony > 200) b on a.id=b.id where a.Sex= '男 '

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070130

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
[解决办法]

select * from A
inner join B on A.id=B.id
where A.sex= '男 ' and B.Trademony> 200
[解决办法]
select * from a where id in (select id from b where trademony> 200) and sex= '男 '

读书人网 >SQL Server

热点推荐