SQL - Quiero generar la estructura de una consulta para obtener un campo calculado

 
Vista:

Quiero generar la estructura de una consulta para obtener un campo calculado

Publicado por Marko (2 intervenciones) el 16/01/2007 18:29:35
Hola a todos.

El problema es el siguiente:
Estoy haciendo un análisis electoral con tres partidos politicos, la información esta dividida por zonas electorales,
Quiero generar la estructura de una consulta para obtener un campo calculado (GANADOR) con base en los campos de cada partido:

La estructura de la tabla es la siguiente

ID integer
Partido A INTEGER
Partido B INTEGER
Partido C INTEGER
votantantes inscritos INTEGER
¿Como es la estructura de la consulta para que cuando el partido "A" gano, me escriba "A" en el campo calculado que quiero llamar GANADOR, cuando gano "B" lo mismo e igual para el partido "C"?

Alguna sugerencia, muchas gracias.
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

Quiero generar la estructura de una consulta para obtener un campo calculado

Publicado por Isaías (5072 intervenciones) el 17/01/2007 02:26:57
¿Quien gana, quien tenga mas votantes inscritos?
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

Quiero generar la estructura de una consulta para obtener un campo calculado

Publicado por Marko (2 intervenciones) el 17/01/2007 17:12:11
No, es por numero de votos.
Cada registro corresponde a una seccion electoral. Para el análisis que estoy haciendo necesito saber en cada seccion cual es el ganador, y plasmarlo en un campo nuevo que se llamara ganador.
Es decir, necesito leer registro por registro y buscar el numero mayor en cada columna correspondiente a ese registro

P. E. La tabla de abajo es una replica de lo que quiero hacer

seccion Partido-A Partido-B PartidoC Ganador
5414 252 451 125 Partido-B
5415 154 344 101 Partido-B
5416 178 145 138 Partido-A
.......
La columna que deseo calcular es la de GANADOR, que la consulta recupere el valor mas alto por registro y lo escriba en dicha columna.

Se me ocurre que la consulta debe ser con un CASE, solo lo he realizado en una sola columna, no en multiples columnas.
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

Quiero generar la estructura de una consulta para obtener un campo calculado

Publicado por Isaías (5072 intervenciones) el 17/01/2007 21:14:09
¿Algo asi?

1
2
3
4
create table #partidos (seccion int, partidoA int, partidoB int, partidoC int)
insert into #partidos values(5414, 252, 451, 125)
insert into #partidos values(5415, 154, 344, 101)
insert into #partidos values(5416, 178, 145, 138)

1
2
3
4
5
SELECT SECCION, partidoA, partidoB, partidoC,
CASE WHEN partidoA > partidoB AND partidoA > partidoC THEN 'PartidoA'
	 WHEN partidoB > partidoA AND partidoB > partidoC THEN 'PartidoB'
     WHEN partidoC > partidoA AND partidoC > partidoB THEN 'PartidoC' END
FROM #partidos
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