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

[SOLUCIONADO] Consulta a 2 tablas del mismo nombre

Estas en el tema de Consulta a 2 tablas del mismo nombre en el foro de Mysql en Foros del Web. Hola Amigos!!! mi problema es el siguiente , necesito consultar a la misma tabla 2 veces para sacar distintos registros lo hago de esta forma ...
  #1 (permalink)  
Antiguo 08/02/2013, 09:28
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Consulta a 2 tablas del mismo nombre

Hola Amigos!!!

mi problema es el siguiente , necesito consultar a la misma tabla 2 veces para sacar distintos registros
lo hago de esta forma
Código MySQL:
Ver original
  1. SELECT A.arti_id, A.articulo_id, A.descripcion, A.moneda, A.iva, A.stk1, A.fijo_din, M.moneda_detalle, M.moneda_id, I.iva_detalle, P.pr_porcentaje, P.pr_precio, R.artiweb_peso, R.tipo_peso, G.agru_artiid, GROUP_CONCAT( G.agru_articuloid ) AS bundle_id, GROUP_CONCAT( G.agru_cantidad ) AS bundle_cantidad, GROUP_CONCAT( T.pr_porcentaje ) AS bundle_porcentaje, GROUP_CONCAT( T.pr_precio ) AS bundle_precio, GROUP_CONCAT( J.descripcion ) AS bundle_descripcion, GROUP_CONCAT( J.articulo_id ) AS bundle_articulo_id
  2. FROM articulos AS A
  3. INNER JOIN monedas M ON A.moneda = M.mone_id
  4. INNER JOIN impuestos I ON A.iva = I.iva_id
  5. INNER JOIN pr_articulos P ON A.arti_id = P.pr_arti_id
  6. AND P.pr_lista_id =2
  7. LEFT OUTER JOIN articulos_web R ON A.arti_id = R.artiweb_id
  8. INNER JOIN articulos_agru G ON G.agru_artiid = A.arti_id
  9. INNER JOIN pr_articulos T ON G.agru_articuloid = T.pr_arti_id
  10. AND T.pr_lista_id =2
  11. INNER JOIN articulos_agru H ON H.agru_articuloid = J.arti_id
  12. WHERE A.articulo_status =1
  13. AND A.bundle =1
  14. AND (
  15. A.articulo_id LIKE '%49%'
  16. OR A.descripcion LIKE '%pc%'
  17. )
  18. GROUP BY G.agru_artiid
  19. LIMIT 0 , 25
pero me da este error
#1054 - Unknown column 'J.descripcion' in 'field list'
pues entonces agrego la misma tabla pero con distinto alias
Código MySQL:
Ver original
  1. FROM articulos AS A,articulos as J
pero me da otro error
#1054 - Unknown column 'A.moneda' in 'on clause'
probe de todo , si alguien es tan amable de darme una manito se lo voy a
agradecer muchisimo
Saludos!!!!
  #2 (permalink)  
Antiguo 08/02/2013, 10:06
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Consulta a 2 tablas del mismo nombre

Por que no solo utilizas el "A" ?
que diferencia hay entre "A y J"
  #3 (permalink)  
Antiguo 08/02/2013, 10:15
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Consulta a 2 tablas del mismo nombre

Hola gracias por contestar
si uso unicamente la A no encuentra ningun registro
necesito utilizar en este caso A y J
porque con A comparo desde otra tabla diferente a J
ACA
Código MySQL:
Ver original
  1. INNER JOIN articulos_agru G ON G.agru_artiid = A.arti_id
Y ACA
Código MySQL:
Ver original
  1. INNER JOIN articulos_agru H ON H.agru_articuloid = J.arti_id
saludos!!!
  #4 (permalink)  
Antiguo 08/02/2013, 10:46
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Consulta a 2 tablas del mismo nombre

Pienso que aquí:
Código PHP:
Ver original
  1. FROM articulos AS A
estas identificando la tabla articulos con " A "

Pero no veo nada con respecto a " J ", no se si estoy equivocado.
No se donde hace las dos consultas a la misma tabla, ya que creo que A.arti_id y J.arti_id necesitas que tenga el mismo valor.

Y si no es asi pienso que necesitas hacer otro INNER JOIN
Código PHP:
Ver original
  1. INNER JOIN articulos J ON J.campo = A.campo

Son solo ideas, tal vez te ayuden
  #5 (permalink)  
Antiguo 08/02/2013, 10:50
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Consulta a 2 tablas del mismo nombre

gracias !!!
ya casi lo tengo
agregue un inner join
asi
Código MySQL:
Ver original
  1. INNER JOIN articulos J
  2. INNER JOIN articulos_agru H ON H.agru_articuloid=J.arti_id
me esta funcionando pero de los registros que estan con GROUP_CONCAT()
me lo trae 2 veces intente agrupar

Código MySQL:
Ver original
  1. GROUP BY G.agru_artiid,J.arti_id
pero me hace lo mismo
  #6 (permalink)  
Antiguo 08/02/2013, 11:00
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Consulta a 2 tablas del mismo nombre

Y no necesitas ponerle esto ON J.campo = A.campo ?
seria como la segunda consulta a la misma tabla.
por que creo que estaría seleccionando la tabla pero con cualquier registro o todos.
  #7 (permalink)  
Antiguo 08/02/2013, 11:01
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Consulta a 2 tablas del mismo nombre

LISTO!!!
era esto nomas (como lo habias puesto mas arriba)
INNER JOIN articulos J ON J.arti_id=G.agru_articuloid
lo mas raro es que me parece que ya habia probado asi
pero bueno...
Saludos y muchas gracias por iluminarme jaja !!!
  #8 (permalink)  
Antiguo 08/02/2013, 11:07
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Consulta a 2 tablas del mismo nombre

Excelente !!
Un placer, Saludos.

Etiquetas: join, nombre, registros, select, tabla, tablas
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 09:22.