Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Consulta con JOIN no Funciona

Estas en el tema de Consulta con JOIN no Funciona en el foro de Bases de Datos General en Foros del Web. Buenas a todos, Tengo la siguiente consultacon la union de dos tablas y una tercera con la clausula WHERE producto de una suma de la ...
  #1 (permalink)  
Antiguo 07/10/2014, 22:38
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Consulta con JOIN no Funciona

Buenas a todos, Tengo la siguiente consultacon la union de dos tablas y una tercera con la clausula WHERE producto de una suma de la primera:

Código SQL:
Ver original
  1. SELECT SUM(Proceso.Pro_CantidadOrig) AS Total,
  2. Proceso.Pro_Chasis,
  3. Tira.POS,
  4. Tira.CHASSIS,
  5. Rangos.numero
  6. FROM ((Proceso LEFT JOIN Tira ON Proceso.Pro_Chasis = Tira.SERIE)
  7. LEFT JOIN Articulos ON Proceso.Pro_NoParte = Articulos.Clave)
  8. LEFT JOIN Rangos ON Total >= Rangos.de AND Total <=Rangos.a
  9. WHERE Mid(Articulos.Linea,1,1)='L'
  10. GROUP BY Proceso.Pro_Chasis,
  11. Tira.POS,
  12. Tira.CHASSIS,
  13. Rangos.numero

EL error lo marca en la union de la tabla Rangos, ya que si quito esta tabla la consulta si funciona, pero lo que deseo es que me traiga el valor numero de la tabla rangos en base a los campos rango.de y rango.a

De antemano gracias y a ver si me explique.

Saludos

Última edición por gnzsoloyo; 08/10/2014 a las 07:38
  #2 (permalink)  
Antiguo 08/10/2014, 07:23
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta con JOIN no Funciona

que manejador de bases de datos usas????
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 08/10/2014, 16:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Consulta con JOIN no Funciona

Buenas tardes

Estoy haciendo la consulta desde VB6 a una base de datos de acces 2003. Mi conexion es con ADODB.

Lo que sucede, es que esta base pertenece a un sistema ya desarrollado, y solo estoy haciendo algunas adecuaciones.


Otra forma que intente, fue haciendo una sub-consulta

Código SQL:
Ver original
  1. SELECT SUM(Proceso.Pro_CantidadOrig) AS Total,
  2. Proceso.Pro_Chasis,
  3. Tira.POS, 4.Tira.CHASSIS,
  4. (SELECT Rangos.numero FROM Rangos WHERE Total BETWEEN(Rangos.de AND Rangos.a)
  5. FROM (Proceso LEFT JOIN Tira ON Proceso.Pro_Chasis = Tira.SERIE)
  6. LEFT JOIN Articulos ON Proceso.Pro_NoParte = Articulos.Clave
  7. WHERE Mid(Articulos.Linea,1,1)='L'
  8. GROUP BY Proceso.Pro_Chasis,
  9. Tira.POS,
  10. Tira.CHASSIS,
  11. Rangos.numero
Pero tampoco me funciono

Gracias por responder.

Última edición por gnzsoloyo; 09/10/2014 a las 11:38 Razón: informacion incompleta
  #4 (permalink)  
Antiguo 09/10/2014, 09:29
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta con JOIN no Funciona

No puedo ayudarte mucho porque no soy experto en Access y muchas cosas que funcionan en SQL server(donde si soy experto) no aplican para Access
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 09/10/2014, 09:42
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Consulta con JOIN no Funciona

Buenas tardes

Creo que respondi mal tu primera pregunta, ya que el manejador de BD que utiulizo es ADODB en VB6

Bueno pero una consulta en SQL para el resultado que quiero como lo harias??

Tomando en cuenta que la consulta la lanzo desde VB6 a la BD de acces, bien podria ser a una BD de SQL. Como seria para esta ultima BD

Saludos

Última edición por computer_si; 09/10/2014 a las 09:45 Razón: falta informacion
  #6 (permalink)  
Antiguo 09/10/2014, 11:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta con JOIN no Funciona

la consulta en sql server quedaria asi:

Código SQL:
Ver original
  1. SELECT * FROM(
  2. SELECT SUM(Proceso.Pro_CantidadOrig) AS Total,
  3. Proceso.Pro_Chasis,
  4. Tira.POS,
  5. Tira.CHASSIS,
  6. Rangos.numero
  7. FROM ((Proceso LEFT JOIN Tira ON Proceso.Pro_Chasis = Tira.SERIE)
  8. LEFT JOIN Articulos ON Proceso.Pro_NoParte = Articulos.Clave)
  9. WHERE Mid(Articulos.Linea,1,1)='L'
  10. GROUP BY Proceso.Pro_Chasis,
  11. Tira.POS,
  12. Tira.CHASSIS,
  13. Rangos.numero) AS t1
  14. LEFT JOIN Rangos ON (t1.Total >= Rangos.de AND t1.Total <=Rangos.a)

el manejador de base de datos (DBMS) que estas usando es access, el tipo de conexion que usas es ADODB, el que va a interpretar la consulta es el DBMS el ADODB es nada mas para conectarte a la base de datos asi que mi primer pregunta la contestaste bien usas access como DBMS.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 09/10/2014, 21:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 85
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Consulta con JOIN no Funciona

Buenas Libras

Antes que nada date las Gracias por tu apoyo, y comentarte que por fin me funciono la consulta, primero replique el esenario en una BD de SQL Server y me marco error, revise y analice tu codigo y solo hice una pequeña correccion (movi Rangos.numero) y funciono:

SELECT *, Rangos.numero FROM(
SELECT SUM(Proceso.Pro_CantidadOrig) AS Total,
Proceso.Pro_Chasis,
Tira.POS,
Tira.CHASSIS
FROM ((Proceso LEFT JOIN Tira ON Proceso.Pro_Chasis = Tira.SERIE)
LEFT JOIN Articulos ON Proceso.Pro_NoParte = Articulos.Clave)
WHERE Mid(Articulos.Linea,1,1)='L'
GROUP BY Proceso.Pro_Chasis,
Tira.POS,
Tira.CHASSIS) AS t1
LEFT JOIN Rangos ON (t1.Total >= Rangos.de AND t1.Total <=Rangos.a)

Despues la corri en VB6 con el DBMS (Gracias por corregirme) de acces y tambien funciono.

Nuevamente mil gracias y Saludos

Última edición por computer_si; 09/10/2014 a las 21:21 Razón: falta informacion

Etiquetas: access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:31.