Orden en búsqueda Sql

Buenas, experto.
Soy Jose Manuel de Málaga y a ver si puedo explicarte el problemilla con el que me he encontrado.
Necesito hacer una consulta de este tipo
SELECT CAMPO WHERE CAMPO='EXPRESION3' OR CAMPO='EXPRESION2' OR CAMPO='EXPRESION1'
El problema viene que en la tabla donde están los datos están en este orden
EXPRESION1,EXPRESION2,EXPRESION3, por lo que el resultado de la busqueda sale en ese orden, pero yo necesito que salga en el orden exacto que le meti en la busqueda.
Obviamente ordenar los registro tampoco me sirve, por lo que estoy un poco perdido.
Habría alguna manera de ordenar el resultado de la búsqueda para que me salga en el orden que yo he pedido.
Un saludo y muchas gracias.
Jose.
1

1 respuesta

Respuesta
1
Veamos, no se si entiendo bien tu pregunta, si lo que quieres preguntar es que el resultado de la consulta aparezcan primero los registro de "campo", que conplan la primera "expresion3", después los de la "expresion2", y luego los de "expresión1", lo tienes que realizar con las cláusulas "UNION", de la siguiente manera:
SELECT CAMPO WHERE CAMPO='EPRESION3'
UNION
SELECT CAMPO WHERE CAMPO='EXPRESION2'
UNION
SELECT CAMPO WHERE CAMPO='EXPRESION1'
SI lo que quieres preguntar no es eso acláremelo.
Muchas gracias por el consejo, creo que es lo que busco el problema es que he puesto la clausula UNION en el SELECT y me da un error.
Estoy usando la base de datos MYsql. ¿Sabes a que se debe el error?.
Un saludo y muchas gracias de nuevo.
Jose.
Por lo que veo no te han m, andado la respuesta,
en ella te comentaba que me mandes exactamente toda la consulta SQL, y veré cual es el posible error
Buenas, muchas gracias por tu contestación y perdona por molestarte tanto.
La consulta completa seria la siguiente.
Tengo la siguiente tabla:
Expresión
campo1
campo2
Y la consulta que debería de hacer es la siguiente.
SELECT CAMPO1 FROM TABLA WHERE EXPRESION='VALOR1' OR EXPRESION='VALOR3' OR EXPRESION='VALOR2'
El problema es que no me salen en ese orden, sino en el orden en que se metieron en la tabla y ahí es donde tengo el problema.
Un saludo y muchas gracias de nuevo.
Jose.
No es molestia, no problem, para eso estamos.
Veamos creo que la consulta sería así:
SELECT campo1 FROM tabla WHERE expresion=valor1
UNION SELECT campo1 FROM tabla WHERE expresion=valor2
UNION SELECT campo1 FROM tabla WHERE expresion=valor3
valor1, valor2, y valor3 tendran que ir entre comillas si el valor es un string, si es un valor numérico no. Si es un valor de tipo fecha, no recuerdo como lo interpreta MySQL, pero lo estandard suele ser en formato mes/dia/año, y entre comillas, aunque los hay entre #, {}, segun el motor SQL que tengan. La solución LEER la documentación o el método de prueba y error.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas