日期:2014-05-19  浏览次数:20595 次

sql语句求助!!!!!!
couId couName stuId
GQ1204001 岗前培训课程 12
ZQ1203001 证券业务 12
ZQ1203001 证券业务 123
JS1205001 课程 123

上面是表的结构,现在我想选出所有课程不要重复,但选出的课程中必须包含stuId=123的记录,即选择证券业务时优先选择stuId=123的记录,同时岗前培训课程也要选上,求助各位大神,这个sql语句怎么写啊?(我用的hibernate进行查询)

------解决方案--------------------
SQL code
SELECT * FROM 表名
GROUP BY couId  
HAVING COUNT(couId )=1
UNION
SELECT * FROM 表名
WHERE couId  NOT IN 
(SELECT couId FROM 表名
GROUP BY couId 
HAVING COUNT(couId)=1)
AND stuId=123