请教PL/SQL

[复制链接]
查看11 | 回复2 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
SELECTA,B,C,D
FROMTBL_A
WHEREA'00001'
ANDB IN(

SELECT E FROM TBL_B

GROUP BYF,G,H

ORDER BYF,G,H

这段sql有什么问题吗?难道in 里面不能同时order by group by ??
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
子查询Order by子句有意义吗?

SELECTA,B,C,D FROM TBL_A WHERE A'00001' AND B IN(SELECT E FROM TBL_B GROUP BYF,G,H)
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
并不是IN里面不能用ORDERBY 和GROUP BY ,而是你用了GROUP BY就的话SELECT里面就要用到聚集函数,比如MAX COUNT等
你的语句可以改成
SELECTA,B,C,D
FROMTBL_A
WHEREA'00001'
ANDB IN(

SELECT max(E) FROM TBL_B

GROUP BYF,G,H

ORDER BYF,G,H
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行