SQL - Consulta SQL ¿TODO ES POSIBLE?

 
Vista:

Consulta SQL ¿TODO ES POSIBLE?

Publicado por Andrea (7 intervenciones) el 18/07/2005 16:26:21
Estoy trabajando con SQL, y necesito hacer la siguiente consulta sobre una tabla:

PARA UNA TABLA DONDE TENGO CODIGO, INDICE, DESTINO
DONDE PARA CADA CODIGO HAY N INDICES
Y PARA CADA CODIGO/INDICE HAY UN DESTINO.

EJ:

CODIGO INDICE DESTINO
25 5 60
25 6
25 7
24 1 61
24 2
24 3
24 4
24 5

NECESITO ME DEVUELVA

25 5 60
25 7
24 1 61
24 5

NECESITO ME MUESTRE TODOS AQUELLOS REGISTROS QUE DESTINO >' '
O CUYO INDICE SEA EL MAYOR

HAY FORMA, TODO ES POSIBLE CON SQL?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Consulta SQL ¿TODO ES POSIBLE?

Publicado por Liliana (426 intervenciones) el 18/07/2005 19:34:04
Hola Andrea,
No sé si todo es posible, pero lo que necesitás, creo que sí:

SELECT Codigo, Indice, Destino
FROM #test
WHERE Destino > 0

UNION

SELECT Codigo, MAX(Indice), 0
FROM #test
WHERE Destino = 0
GROUP BY Codigo
ORDER BY 1, 2

Saludos,
Liliana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL ¿TODO ES POSIBLE?

Publicado por Andrea (7 intervenciones) el 18/07/2005 21:15:49
Liliana:

muchas gracias por el dato, recien empiezo con sql.
pero me quedo una duda, cuando haces order by 1,2 ; que significa?

Andrea
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL ¿TODO ES POSIBLE?

Publicado por Andrea (7 intervenciones) el 18/07/2005 21:38:13
Liliana:

de paso , que significa ,0 en el select?

hice la consulta tal me la pasaste y funcionó ok, pero tengo muchos campos en la base y necesito mostrarlos, cuando en el select pongo * para que me tome todos los campos me da error, como debería hacer?

Desde ya muchas gracias por tu ayuda, me sirvio de mucho
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consulta SQL ¿TODO ES POSIBLE?

Publicado por blacky_dy (11 intervenciones) el 18/07/2005 22:22:35
Al utilizar la clausula "UNION", los lista de campos de ambos select debe coincidir, es por eso que en la segunda lista rellena el tercer campo con un "0".

Respecto del *, como te decia ambas listas deben ser iguales por lo tanto si arriba seleccionas todo abajo debieras rellenar con caracteres o numeros para igualar la segunda lista. La lista de abajo usa un group by lo cual quiere decir que estas agrupando por una columna y no puedes usar "*".

Espero te sirva la explicacion :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar