帮忙看看这句话那里错了?急

azxsqw 2003-08-20 08:55:01
select top 3 * from supplier1 where supplier_id in (select objectID from T_recommend where kind = '1' and toLanguage = '1' order by good desc ) and c_audit = '1' and province_id = '43' order by supplier_id desc




报措The ORDER BY clause is invalid in views, inline functions, derived tables, and subqueries, unless TOP is also specified.
...全文
35 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizardho 2003-08-20
  • 打赏
  • 举报
回复
去掉子查询里面的“order by”应该能满足要求吧
seaman0916 2003-08-20
  • 打赏
  • 举报
回复
我也觉得这个"order by good desc " 是多余的, 因为这是一个子查询语句,这个 (select objectID from T_recommend where kind = '1' and toLanguage = '1')表示一个条件集合, 对条件集合排序好像没有任何意义!
azxsqw 2003-08-20
  • 打赏
  • 举报
回复
那位
告诉我应如何写,完成各自的排序
hesi726 2003-08-20
  • 打赏
  • 举报
回复
select top 3 * from supplier1 where supplier_id in (select objectID from T_recommend where kind = '1' and toLanguage = '1' order by good desc ) and c_audit = '1' and province_id = '43' order by supplier_id desc

sql server 不支持 内嵌 sql 的order by 语句!
而且,
象你这种查询, (oracle也不支持的),内嵌 sql的排序是完全没有任何含义的!
你的目的是什么啊?
想找出 good 比较大的并且 supplier_id 也比较大的 3行记录来??
可惜你是用的 in () 啊!



StevenWSF 2003-08-20
  • 打赏
  • 举报
回复
你 IN 里面的临时表不要用 ORDER BY 是不能用的,用了也没有用(有些数据库可以这样写,但是没有用),他是根据你前面的表里的字段一个一个和你的临时表比较的
azxsqw 2003-08-20
  • 打赏
  • 举报
回复
sql server
limd 2003-08-20
  • 打赏
  • 举报
回复
order by不能用在内嵌的查询语句里,可以间接实现,好好想想吧
monbit 2003-08-20
  • 打赏
  • 举报
回复
就是说order by不能用在内嵌的查询语句里
flowercat 2003-08-20
  • 打赏
  • 举报
回复
拜托,告诉下是什么数据库?
azxsqw 2003-08-20
  • 打赏
  • 举报
回复

是我要他是降序
zyhowe 2003-08-20
  • 打赏
  • 举报
回复
(select objectID from T_recommend where kind = '1' and toLanguage = '1')
pzl686 2003-08-20
  • 打赏
  • 举报
回复
order by不能用在内嵌的查询语句里,就算数据库支持,这样写也没用啊

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧