我有一个查询,我必须对来自DB2数据库的结果进行排序。该查询将选择列empname,salary,status
。但我必须使用命令排序结果empno
但查询不起作用。这是查询。排序查询结果没有选择该列,但按该列排序?
select empname, salary, status from emp where salary>5000 order by empno
您可以更新而不选择列使用它的查询通过empno
排序?
我有一个查询,我必须对来自DB2数据库的结果进行排序。该查询将选择列empname,salary,status
。但我必须使用命令排序结果empno
但查询不起作用。这是查询。排序查询结果没有选择该列,但按该列排序?
select empname, salary, status from emp where salary>5000 order by empno
您可以更新而不选择列使用它的查询通过empno
排序?
您的语法对我来说似乎是正确的,除了点(。)在最后。去除点之后,如果不工作...
尝试像
SELECT empname, salary, status
FROM (SELECT *
FROM emp
ORDER BY empno)
WHERE salary > 5000
您好jaychapani,您的查询不工作..你能正确更新它? – 2012-07-19 05:38:47
它给出的错误是什么? – jaychapani 2012-07-19 05:43:23
根据IBM的文档“ORDER BY子句中指定的列不需要包含在SELECT子句中。” – jaychapani 2012-07-19 05:46:09
试试这个
select empname, salary, status from emp where salary>5000 order by empno asc
确保列和表名确实存在。
问候
为什么粘贴相同的查询? – 2012-07-19 05:34:49
点被删除,我添加了asc(上升)或使用desc降序您的数据。 – BizApps 2012-07-19 05:37:26
虽然执行我删除它,但没有用..不工作BizApps .. – 2012-07-19 05:39:55
我不知道,但DB最快的方法是这样的:
SELECT empname, salary, status
FROM (
select empname, salary, status, empno
from emp
where salary > 5000
order by empno ASC
)
删除的点,然后再试一次。 – Adam 2012-07-19 05:25:16
请发布表的创建SQL。 – kirbs 2012-07-19 13:03:31
感谢您的时间..它是工作..我从多个表中选择,但empno是歧义..现在更新..工作.. – 2012-07-19 13:58:26