2012-07-19 11 views
6

Tengo una consulta, tengo que ordenar el resultado de la base de datos DB2. La consulta seleccionará las columnas empname,salary,status. Pero tengo que ordenar el resultado usando el orden por empno
Pero la consulta no funciona ... Esta es la consulta.ordena el resultado de la consulta sin seleccionar esa columna, pero ordena por esa columna?

select empname, salary, status from emp where salary>5000 order by empno 

Se puede actualizar la consulta para ordenar por empno sin usarlo en la selección de columnas?

+1

Retire el punto y vuelve a intentarlo. – Adam

+1

Por favor, publique la tabla de crear SQL. – kirbs

+0

Gracias por su tiempo ... Está funcionando ... Seleccioné de varias tablas, pero el empno es ambiguo .. Ahora se actualizó ... funcionando .. –

Respuesta

4

Su sintaxis me parece correcta excepto el punto (.) Al final. Después de la eliminación de puntos si no funciona ...

intentar algo así como

SELECT empname, salary, status 
    FROM (SELECT * 
      FROM emp 
     ORDER BY empno) 
WHERE salary > 5000 
+0

HI jaychapani, Su consulta no funciona ... ¿Se puede actualizar correctamente? –

+0

¿Cuál es el error que está dando? – jaychapani

+2

Según la documentación de IBM "La columna especificada en la cláusula ORDER BY no necesita ser incluida en la cláusula SELECT". – jaychapani

-1

probar este

select empname, salary, status from emp where salary>5000 order by empno asc 

asegurarse de que realmente existen columnas y nombre de la tabla.

echar un vistazo a: ORDER BY clause

Saludos

+0

¿Por qué se pegó la misma consulta? –

+0

el punto se eliminó y agregué asc (ascediendo) o uso desc para el orden descendente de sus datos. – BizApps

+0

Durante la ejecución lo eliminé, pero no uso .. No funciona BizApps .. –

0

No estoy seguro, pero la manera más rápida en la base de datos es algo como esto:

SELECT empname, salary, status 
FROM (
    select empname, salary, status, empno 
    from emp 
    where salary > 5000 
    order by empno ASC 
) 
Cuestiones relacionadas