Soy un principiante en el desarrollo de consultas de Oracle Database. Estoy desarrollando una funcionalidad de búsqueda para mi proyecto para buscar tiendas por Zip o Nombre o Ciudad, donde se le proporcionará al usuario "Un cuadro de entrada HTML" para ingresar el término de búsqueda. No sólo almacena tabla llamadaBúsqueda y visualización de resultados por relevancia en Oracle
Las condiciones para mostrar los resultados de la búsqueda se
- Si el término de búsqueda adaptado a
ZIP
resultados deben serGROUP
ySORT BY ZIP DESC
- Si el término de búsqueda adaptado a
NAME
resultados debe ser grupo y ordenar porNAME IN ASC
y lo mismo queCITY
- Si el término de búsqueda coincide con
ZIP
,NAME
yCITY
(a todos), a continuación, en primer lugar los resultados emparejados a laZIP
debe mostrarse enDESC order
, juntoCITY
seguido por elNAME
He intentado algo como esto
SELECT s.uuid AS uuid, COUNT(*) over() AS rowcount
FROM Stores s
WHERE s.postalcode LIKE '%87%'
OR s.city LIKE '%87%'
OR CONCAT(CONCAT(s.firstname, ' '),s.lastname) LIKE '%87%'
GROUP BY s.city, s.postalcode,
CONCAT(CONCAT(s.firstname, ' '),s.lastname), s.uuid
ORDER BY CASE WHEN s.postalcode LIKE '%87%'
THEN s.postalcode END DESC,
CASE WHEN CONCAT(CONCAT(s.firstname, ' '),s.lastname) LIKE '%87%'
THEN CONCAT(CONCAT(s.firstname, ' '),s.lastname)
ELSE s.postalcode END ASC,
CASE WHEN s.city LIKE '%87%'
THEN s.city END
Esta consulta no es mostrando los resultados como se esperaba (me refiero a que está mostrando resultados sin orden, no como First zip, next city seguido por name).
¿Cómo puedo hacer la consulta para cumplir con los requisitos anteriores? ¿Necesito usar procedimientos almacenados para hacer eso? Cualquier sugerencia será muy apreciada.
esto suena como tarea, márcalo como tal si lo es. También es sorprendente similar a la pregunta formulada hoy: http://stackoverflow.com/questions/12564918/why-oracle-is-saying-not-a-group-by-expression – Harrison
¿Has intentado poner el 'CASE' construir en la cláusula 'ORDER BY' en las cláusulas' SELECT' y 'GROUP BY'? Intenta ponerlo exactamente así y que podamos ver los resultados. – Rachcha