07/12/2012, 18:41
|
| | | Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 10 meses Puntos: 0 | |
Respuesta: Duda con UNION y seleccionar el valor deseado Gracias esa es la solución. Puedo añadir algo mas y no molesto mas en un buen tiempo?
bien resuelto el tema este, el de crear los datos de ganados, empates y perdidos. Eso me crea los datos cuando un equipo es local, para hacer la tabla completa hay que hacer el mismo procedimiento (no se si esta vez se usa UNION) pero a la inversa. Yo he intentado con UNION y GROUP BY, algo así:
(SELECT equipo,
count(Count(Case When resultadolocal > resultadovisitante Then 1 End) win,
Count(Case When resultadolocal = resultadovisitante Then 1 End) draw,
Count(Case When resultadolocal > resultadovisitante Then 1 End) lose,
sum(resultadolocal) AS golesfavor,
sum(resultadovisitante) AS golescontra
FROM partidos
GROUP BY equipos)
UNION ALL
(SELECT equipo,
count(Count(Case When resultadolocal > resultadovisitante Then 1 End) win,
Count(Case When resultadolocal = resultadovisitante Then 1 End) draw,
Count(Case When resultadolocal > resultadovisitante Then 1 End) lose,
sum(resultadolocal) AS golesfavor,
sum(resultadovisitante) AS golescontra
FROM partidos
GROUP BY equipos)
___
El restultado es algo asi como:
equipo - win - draw - lose - golesfavor - golescontra
Equipo A - 1 - 1- 1 - 3 - 3
Equipo B - 2 - 2- 2 - 4 - 4
Equipo A - 0 - 0- 0 - 1 - 1
Equipo B - 5 - 5- 5 - 3 - 3
_____
Lo que hace es que hace correctamente las dos consultas, pero, a la final no hace el GROUP BY entre las dos consultas, entonces me duplica el equipo con los datos local y visitante. He tratado de hacer el (SELECT...) UNION ALL (SELECT...) GROUP BY pero me da error...
Gracias! me han ayudado bastante con esto! |