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;