Hola.
Una dudilla.
Tengo la siguiente consulta:
SELECT SUM(aco.plazas) AS plazas, SUM(aco.vacios) AS vacias,
aco.vgr_codgrup AS grup_codi, CASE WHEN grup_cerrado IN (1, 3) THEN 1 ELSE 0
END AS cerrado, aco.mts AS metros,
aco.pax, aco.coches, aco.nac_codaco, aco_capacidad, aco_nombre,
RTRIM(aco_siglas) AS aco_siglas, grup_nombre,
grup_fechsa AS orden, CONVERT(varchar, grup_fechsa, 103) AS grup_fechsa,
grup_horasa, grup_horall
FROM
(
SELECT nac_numero, nac_codaco,
MIN(CASE nac_vacio WHEN 1 THEN nac_libres ELSE CASE nac_reservado WHEN 1
THEN 0 ELSE nac_libres END END) AS plazas,
MIN(nac_vacio) AS vacios, vgr_codgrup, MIN(via_metdis) AS mts,
MIN(via_pax_disp) AS pax, MIN(via_coches_disp) AS coches
FROM ic_numaco
INNER JOIN ic_viaje ON via_codi = nac_via_codi
INNER JOIN ic_barco ON via_codbar = bar_codi
INNER JOIN ic_viagrup ON via_codi = vgr_codvia
INNER JOIN ic_grupoviaje ON grup_codi = vgr_codgrup
WHERE (grup_fechsa BETWEEN @desde AND @hasta) AND (grup_codlin = @linea)
AND (nac_codaco <> @acomodacion) AND (nac_carga <> 1) AND (bar_tipo = 0)
GROUP BY vgr_codgrup, nac_codaco, nac_numero
Ahora mismo la tengo metida en un Store Procedure, pero no se si es mejor (a
efectos de rendimiento, pues este SP es llamado por unos 20 usuarios casi a
la vez) utilizar una Vista.
Supongo que en la vista tendría la consulta sin el Where, y este Where lo
pongo dentro del nuevo SP.
¿Es así o estoy mezclando 'peras' con 'uvas'?
Es que esto de las vistas me tiene un poco liado.
Gracias.
Leer las respuestas