Foros del Web » Programando para Internet » PHP »

Consulta

Estas en el tema de Consulta en el foro de PHP en Foros del Web. Tengo 2 tablas, una con productos y otra con embalajes, y quiero hacer una consulta q a partir del ID del producto me de los ...
  #1 (permalink)  
Antiguo 29/10/2009, 15:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 1
Consulta

Tengo 2 tablas, una con productos y otra con embalajes, y quiero hacer una consulta q a partir del ID del producto me de los distintos embalajes q tiene, este embalaje es

embalaje
embalaje_2
embalaje_3

he probado con

$query_caratula = "SELECT
productos.id,
embalaje.descripcion AS embalaje_d,
FROM
productos
INNER JOIN embalaje ON (productos.embalaje = embalaje.id)
INNER JOIN embalaje ON (productos.embalaje_2 = embalaje.id)
INNER JOIN embalaje ON (productos.embalaje_3 = embalaje.id)

pero me salta el error
Not unique table/alias: 'embalaje'

alguien tiene idea
  #2 (permalink)  
Antiguo 29/10/2009, 15:42
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Consulta

al foro de sql =B
  #3 (permalink)  
Antiguo 29/10/2009, 19:05
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Consulta

Hola
Y varios productos pueden tener varios embalajes??
si es así, hace falta una tercera tabla que guarden los id de
producto y de cada embalaje que le corresponda, algo asi

ej:

productos
id nombre
1 gelatina
2 avena

embalajes
id nombre
1 bolsa
2 caja

productosembalajes
idproducto idembalaje
1 1
2 1
2 2

y asi entonces harias el select involucrando a esta
tercera tabla para traer todos los embalajes de un producto
que quieras
prueba y nos comentas
saludos
  #4 (permalink)  
Antiguo 29/10/2009, 19:23
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Consulta

Cita:
Iniciado por davchi Ver Mensaje
Tengo 2 tablas, una con productos y otra con embalajes, y quiero hacer una consulta q a partir del ID del producto me de los distintos embalajes q tiene, este embalaje es

embalaje
embalaje_2
embalaje_3

he probado con

$query_caratula = "SELECT
productos.id,
embalaje.descripcion AS embalaje_d,
FROM
productos
INNER JOIN embalaje ON (productos.embalaje = embalaje.id)
INNER JOIN embalaje ON (productos.embalaje_2 = embalaje.id)
INNER JOIN embalaje ON (productos.embalaje_3 = embalaje.id)

pero me salta el error
Not unique table/alias: 'embalaje'

alguien tiene idea
No probé los querys, pueden fallar:
Código SQL:
Ver original
  1. SELECT
  2. productos.id,
  3. embalaje.descripcion AS embalaje_d,
  4. FROM
  5. productos
  6. INNER JOIN embalaje ALIAS embalaje_1 ON (productos.embalaje = embalaje_1.id)
  7. INNER JOIN embalaje ALIAS embalaje_2 ON (productos.embalaje_2 = embalaje_2.id)
  8. INNER JOIN embalaje ALIAS embalaje_3 ON (productos.embalaje_3 = embalaje_3.id);
O más sencillo:
Código SQL:
Ver original
  1. SELECT
  2. productos.id,
  3. embalaje.descripcion AS embalaje_d,
  4. FROM
  5. productos, embalaje embalaje_1, embalaje embalaje_2, embalaje embalaje_3
  6. WHERE
  7. productos.embalaje=embalaje_1.id AND
  8. productos.embalaje_2=embalaje_2.id AND
  9. productos.embalaje_3=embalaje_3.id;
Si no pones distintos alias, SQL no tendrá forma de diferenciar las tablas; ten en cuenta que aunque sea la misma tabla, con cada JOIN para la consulta es una tabla distinta. ¡Suerte!
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 18:34.