ArtieLadie
He estado trabajando en una consulta durante casi un mes.
Importo Oracle SQL a PowerBI y deseo columnas distintas
SELECT TO_CHAR(MIN(I.INCIDENTID)) AS "Incident ID", MIN(I.CREATIONDATE) AS "Creation Date", TO_CHAR(I.CREATIONDATE,'MM-DD-YYYY') AS "Date", TRIM(MO.DOMAINUSERNAME) AS "Login ID", TRIM(M.MESSAGESUBJECT) AS "Email Subject" FROM INCIDENT I JOIN MESSAGE M ON M.MESSAGEID = I.MESSAGEID JOIN MESSAGEORIGINATOR MO ON M.MESSAGEORIGINATORID = MO.MESSAGEORIGINATORID GROUP BY TO_CHAR(I.CREATIONDATE,'MM-DD-YYYY'), TRIM(MO.DOMAINUSERNAME), TRIM(M.MESSAGESUBJECT)
Esta consulta da mal resultado
Pero estoy buscando un buen resultado, es decir
Me han aconsejado usar INNER JOIN y HAVING COUNT
=1, lo que soluciona parcialmente el problema, es decir, en lugar de 3 o 4 duplicados, obtengo 2 duplicados.
Ahora me han aconsejado usar CTE —- desafortunadamente esto da un error en PowerBI. ¿Cómo arreglar esto?
with cte as (SELECT TO_CHAR(I.INCIDENTID)) AS "Incident ID", (I.CREATIONDATE) AS "Creation Date", TO_CHAR(I.CREATIONDATE,'MM-DD-YYYY') AS "Date", TRIM(MO.DOMAINUSERNAME) AS "Login ID", TRIM(M.MESSAGESUBJECT) AS "Email Subject", row_number() over(partition by TO_CHAR(I.CREATIONDATE,'MM-DD-YYYY'), TRIM(MO.DOMAINUSERNAME), TRIM(M.MESSAGESUBJECT) order by TO_CHAR(I.INCIDENTID)),I.CREATIONDATE) rn FROM INCIDENT I JOIN MESSAGE M ON M.MESSAGEID = I.MESSAGEID JOIN MESSAGEORIGINATOR MO ON M.MESSAGEORIGINATORID = MO.MESSAGEORIGINATORID ) select * from cte where rn=1
error.PNG
ArtieLadie
Gracias por su respuesta — sin embargo, todavía necesito ayuda
ya me asegure
1. La sintaxis es correcta.
2. FROM está en el lugar correcto y no se han producido errores ortográficos.
3. No se usaron palabras reservadas como alias
v-xicai En respuesta a
ArtieLadie
Hola @ArtieLadie,
Tal vez necesite verificarlo nuevamente, por ejemplo, el corchete «)» en un lugar incorrecto, o puede preguntarle a alguien excelente que sea bueno en eso.
1.png
Atentamente,
amy
v-xicai
Hola @ArtieLadie,
Para evitar el error ORA-00923, puede verificar los siguientes puntos:
1.Corrija la sintaxis. Asegúrese de haber colocado la palabra clave FROM en el lugar correcto y de que no se hayan producido errores ortográficos.
2.Si usó comillas en un alias, asegúrese de que hayan encerrado correctamente el alias y que sean comillas dobles.
3.Asegúrese de que no se hayan utilizado palabras reservadas como alias. Consulte el apéndice de Oracle para conocer las palabras reservadas y ver una lista completa.
Puede obtener más información: http://www.dba-oracle.com/t_ora_00923_from_keyword_not_found_where_expected.htm
https://www.tekstream.com/oracle-error-messages/ora-00923-from-keyword-not-found-where-expected/
Por favor, comprenda que este enlace se proporciona «TAL CUAL» sin garantías ni garantías de cambios de contenido, y no confiere ningún derecho.
Atentamente,
amy
Si esta publicaciónayuda , entonces por favor considere Acéptalo como la solución.
para ayudar a los otros miembros a encontrarlo más rápidamente.