问个多表查询的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= '男 '