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

Sentencia SQL muy compleja para mi

Estas en el tema de Sentencia SQL muy compleja para mi en el foro de Bases de Datos General en Foros del Web. Hola a todos, tengo una consulta que me está volviendo loco, me gustaría poder sacarlo todo en una sola sentencia pero no me sale, les ...
  #1 (permalink)  
Antiguo 25/08/2005, 11:52
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Sentencia SQL muy compleja para mi

Hola a todos, tengo una consulta que me está volviendo loco, me gustaría poder sacarlo todo en una sola sentencia pero no me sale, les explico para ver quien me puede ayudar.

Tengo diferentes tablas:
Articulos:
IdArticulo
Nombre

Medidas:
IdMedida
Tipo

Razas:
IdRaza
Tipo

Codificacion:
IdCodificacion
Tipo

CodigoBarras:
IdCodigo
Tipo

Calidades:
IdCalidad
Tipo

Relaciones:
IdArticulo
IdCalidad
IdCodigo
IdRaza
IdCodificacion
IdMedida

************************************************** ****
Bien, sabiendo las tablas, lo que yo quiero es extraer el campo tipo de la tabla Medidas, Calidades, Razas, Codificacion y CodigoBarras sabiendo el IdArticulo.

En la tabla relaciones guardo los identificadores de todas las demás, estoy intentando hacer una consulta con Inner Join pero no me salgo.

Les pongo la consulta que tengo hecha:
************************************************** ****

SQL = "Select Medidas.Tipo, Razas.Tipo, Calidades.Tipo, Codificaciones.Codificacion, CodigoBarras.Tipo, Relaciones.* From (Relaciones Inner Join Medidas On (Relaciones.IdMedida=Medidas.IdMedida) And Relaciones Inner Join Razas On (Relaciones.IdRaza=Razas.IdRaza) And Relaciones Inner Join Calidades On (Relaciones.IdCalidad=Calidades.IdCalidad) And Relaciones Inner Join Codificaciones On (Relaciones.IdCodificacion=Codificaciones.IdCodifi cacion) And Relaciones Inner Join CodigoBarras On (Relaciones.IdCodigo=CodigoBarras.IdCodigo)) Where Relaciones.IdArticulo=12"

Díganme si lo hago mal, si se puede hacer y como debería hacerlo, les agradezco su ayuda desde ya.

Saludos
  #2 (permalink)  
Antiguo 25/08/2005, 13:05
Avatar de sir_joshua  
Fecha de Ingreso: diciembre-2004
Mensajes: 411
Antigüedad: 19 años, 4 meses
Puntos: 0
mmm pues parece ke todo esta bien... cual es el error ke te marca...? o ke es lo ke sale ..?


si pudieras tratar de hacer tu query sin inne join, es decir:

from tabla1, tabla2,... tablaN where tabla1.campo=tabla2.campo and tabla2.campo=tabla3.campo ...... and Relaciones.IdArticulo=12

te evitarias formar varios parentesis y, a mi punto de vista, seria mas legible.

salu2.
__________________
http://sir-joshua.hi5.com
Mex. Mex.
  #3 (permalink)  
Antiguo 26/08/2005, 00:47
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
El error que me da es:

Cita:
Syntax error (missing operator) in query expression
A ver si me pueden decir algo.
  #4 (permalink)  
Antiguo 26/08/2005, 01:54
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Está mal escrita la sentencia:

Select Medidas.Tipo, Razas.Tipo, Calidades.Tipo, Codificaciones.Codificacion, CodigoBarras.Tipo, Relaciones.*
From (((((Relaciones Inner Join Medidas On Relaciones.IdMedida=Medidas.IdMedida)
Inner Join Razas On Relaciones.IdRaza=Razas.IdRaza)
Inner Join Calidades On Relaciones.IdCalidad=Calidades.IdCalidad)
Inner Join Codificaciones On Relaciones.IdCodificacion=Codificaciones.IdCodific acion)
Inner Join CodigoBarras On Relaciones.IdCodigo=CodigoBarras.IdCodigo)
Where Relaciones.IdArticulo=12
[/code]
Espero que te sirva.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 27/08/2005, 03:30
Avatar de pempas  
Fecha de Ingreso: diciembre-2003
Ubicación: Barcelona
Mensajes: 985
Antigüedad: 20 años, 4 meses
Puntos: 6
Bueno al final desistí con el Inner Join, no salía ni de la manera de Vice, lo acabé haciendo como dice sir_joshua.

Gracias a todos por su ayuda!
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:24.