una resultados query operador matricial filas ejemplos dinamica cross convertir consulta concatenar columnas sql oracle

sql - resultados - select oracle ejemplos



Pedido de consulta Oracle PL/SQL por problema con Distinct (3)

¿Alguien sabe qué está mal con esta consulta?

SELECT DISTINCT c.CN as ClaimNumber, a.ItemDate as BillReceivedDate, c.DTN as DocTrackNumber FROM ItemData a, ItemDataPage b, KeyGroupData c WHERE a.ItemTypeNum in (112, 113, 116, 172, 189) AND a.ItemNum = b.ItemNum AND b.ItemNum = c.ItemNum ORDER BY a.DateStored DESC;

He realizado T-Sql la mayor parte de mi carrera y esto me parece correcto, sin embargo, esta consulta es para una base de datos Oracle y Toad simplemente coloca el cursor en a.DateStored en la sección Ordenar por. Estoy seguro de que esto es básico para cualquiera que haga PL / SQL.

¡Gracias!

[EDITAR] Para referencia futura, el error proporcionado por SQL * Plus fue: "ORA-01791: no una expresión SELECCIONADA"


Creo que los elementos de la cláusula order by también deben estar en la cláusula select.


Deberá modificar la consulta como tal:

SELECT DISTINCT c.CN as ClaimNumber, a.ItemDate as BillReceivedDate, c.DTN as DocTrackNumber, a.DateStored FROM ItemData a, ItemDataPage b, KeyGroupData c WHERE a.ItemTypeNum in (112, 113, 116, 172, 189) AND a.ItemNum = b.ItemNum AND b.ItemNum = c.ItemNum ORDER BY a.DateStored DESC;

Al hacer una DISTINCT su pedido debe ser una de las columnas seleccionadas.


No importa, la ejecución en SQL Plus me dio una respuesta más informativa. DateStored debe estar en la declaración de selección para que esto funcione:

SELECT DISTINCT c.CN as ClaimNumber, a.ItemDate as BillReceivedDate, c.DTN as DocTrackNumber, a.DateStored FROM ItemData a, ItemDataPage b, KeyGroupData c WHERE a.ItemTypeNum in (112, 113, 116, 172, 189) AND a.ItemNum = b.ItemNum AND b.ItemNum = c.ItemNum ORDER BY a.DateStored DESC;