Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Problemas Consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=74386)

DAD47741 15-06-2011 21:23:34

Problemas Consulta SQL
 
Lo que quiero es que cuente la cantidad de Boletos vendidos a una Localidad pero por alguna extraña razón (Por que de seguro esta mal) no anda:

Código SQL [-]
SELECT  B.Cod_LocDestino, COUNT(B.Cod_LocDestino) as Boletos
FROM Recorridos R, Viajes V, Empresas E, Escalas S, Boletos B
WHERE (R.Cod_Empresa = :Nom_Empresa) and (B.Cod_Viaje = V.Cod_Viaje) and (R.Cod_Recorrido = S.Cod_Recorrido) 
and  (R.Cod_Recorrido = V.Cod_Recorrido) and (B.Fecha <= :FechaF) and (B.Fecha >= :FechaI)
GROUP BY B.Cod_LocDestino

No es urgente pero se agradece la ayuda :D

Chris 15-06-2011 22:16:20

Para utilizar FROM con varias tablas, tiene que haber un JOIN. Alguna indicación lógica que le indique al motor cómo unir los valores entre las tablas. Ese JOIN no lo veo en tu consulta.

Saludos,
Chris

Caro 15-06-2011 22:32:23

Hola DAD47741, lo que yo veo es que en el From la tabla Empresa esta demás, no la relacionas ninguna otra tabla y tampoco la usas, no veo que utilices campos de tu tabla Escalas por lo que el join con esta tabla estaría demás.

Código SQL [-]
SELECT  B.Cod_LocDestino, COUNT(B.Cod_LocDestino) as Boletos
FROM Recorridos R, Viajes V, Boletos B
WHERE (B.Cod_Viaje = V.Cod_Viaje) and  (R.Cod_Recorrido = V.Cod_Recorrido) 
          and (R.Cod_Empresa = :Nom_Empresa) and (B.Fecha <= :FechaF) and (B.Fecha >= :FechaI)
GROUP BY B.Cod_LocDestino

lo mejor es que nos muestres algunos datos de tus tablas y el resultado que quieres obtener para ayudarte mejor, ya que nosotros no conocemos la estructura de tus tablas. Según yo solo con la tabla boletos ya tendrías lo que quieres.

Código SQL [-]
SELECT  B.Cod_LocDestino, COUNT(B.Cod_LocDestino) as Boletos
FROM Boletos B
WHERE (B.Fecha <= :FechaF) and (B.Fecha >= :FechaI)
GROUP BY B.Cod_LocDestino

Saluditos

Caro 15-06-2011 22:36:33

Cita:

Empezado por Chris (Mensaje 403903)
Para utilizar FROM con varias tablas, tiene que haber un JOIN...........

Hola Chis, el Join esta en Where:

Código SQL [-]
(B.Cod_Viaje = V.Cod_Viaje) and (R.Cod_Recorrido = S.Cod_Recorrido) 
and  (R.Cod_Recorrido = V.Cod_Recorrido)

que es lo mismo que un Inner join, pero si, su tabla Empresa no esta relacionada.

Saluditos

Diego666 16-06-2011 00:30:25

solo una pregunta que lo que no anda???
en sintaxis de SQL Aparentemente se ve Bien, Checa Los parametros..


La franja horaria es GMT +2. Ahora son las 05:32:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi