elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Union de tablas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Union de tablas  (Leído 3,394 veces)
Ethgar

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Union de tablas
« en: 19 Septiembre 2014, 19:09 pm »

Que tal, ahora con un problema que me surgio al unir dos tabas; les explico:
tabla1:
Id       | Clave   |Articulo
023       3337      PC
024       3337      Impresora
025       3337      Monitor
026       3337      Disco Duro

Tabla2:
Id_Accesorios   | Clave      |  Id_Articulo   CableVGA  | CableCorriente
85                       3337          023                 si                  si
86                       3337          024                 no                 si

En tabla1 guardo los artículos de un inventario y en la tablados guardo solo los artículos que tienen accesorios, el problema es que al querer imprimir una tabla con la descripción del articulo y la lista de accesorios, como resultado la consulta solo me arroja los dos registros (PC, Impresora). Esta es mi consulta:
$accesorios = mysql_query("SELECT a.clave,a.Articulo,b.CableVGA,b.CableCorriente FROM Tabla1 as a INNER JOIN Tabla2 as b on a.Clave = b.Clave WHERE Clave = 3337");
lo que deseo es que me arroje los 4 registros aunque no estén los otros dos registros (Monitor, Disco duro) en la tabla2.


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Union de tablas
« Respuesta #1 en: 19 Septiembre 2014, 23:03 pm »

Dudo mucho si quiera que la consulta esa te funcione:

a.clave no existe, sería a.Clave. Lo mismo al final del WHERE debe ser a.Clave o b.Clave, de otra forma Clave es muy ambiguo.


En línea

Carloswaldo
Traductor
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.762


Nos reservamos el derecho de ban.


Ver Perfil WWW
Re: Union de tablas
« Respuesta #2 en: 19 Septiembre 2014, 23:44 pm »

Lo que necesitas es un LEFT OUTER JOIN

Pero antes que nada, una duda ¿por qué haces el join con "Clave" y no con "Id_Articulo"?

Para mi quedaría algo así como

Código
  1. SELECT a.Clave, a.Articulo, b.CableVGA, b.CableCorriente FROM Tabla1 AS a LEFT OUTER JOIN Tabla2 AS b ON a.Id = b.IdArticulo WHERE a.Clave = 3337
En línea





Dominio en venta: https://forojapones.com/
Ethgar

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Union de tablas
« Respuesta #3 en: 20 Septiembre 2014, 06:46 am »

Lo que necesitas es un LEFT OUTER JOIN

Pero antes que nada, una duda ¿por qué haces el join con "Clave" y no con "Id_Articulo"?

Para mi quedaría algo así como

Código
  1. SELECT a.Clave, a.Articulo, b.CableVGA, b.CableCorriente FROM Tabla1 AS a LEFT OUTER JOIN Tabla2 AS b ON a.Id = b.IdArticulo WHERE a.Clave = 3337
Lo que pasa es que en mi tabla tengo cientos demismos articulos pero con diferente clave, lo que quiero es el resultado de la clave digao que la clave es un folio de una compra por decir algo, me interesa elresultado de esa compra y lo saco con la Clave, no se i e explique, gracias por tu respuesta, checare LEFT OUTER JOIN.
En línea

Ethgar

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: Union de tablas
« Respuesta #4 en: 20 Septiembre 2014, 06:55 am »

Lo que necesitas es un LEFT OUTER JOIN

Pero antes que nada, una duda ¿por qué haces el join con "Clave" y no con "Id_Articulo"?

Para mi quedaría algo así como

Código
  1. SELECT a.Clave, a.Articulo, b.CableVGA, b.CableCorriente FROM Tabla1 AS a LEFT OUTER JOIN Tabla2 AS b ON a.Id = b.IdArticulo WHERE a.Clave = 3337
Brother me resolviste el problema, me arroja los registros completos, muchas gracias, te llevas el crédito. Saludos!!
En línea

Carloswaldo
Traductor
Moderador Global
***
Desconectado Desconectado

Mensajes: 4.762


Nos reservamos el derecho de ban.


Ver Perfil WWW
Re: Union de tablas
« Respuesta #5 en: 20 Septiembre 2014, 07:06 am »

Lo que pasa es que en mi tabla tengo cientos demismos articulos pero con diferente clave, lo que quiero es el resultado de la clave digao que la clave es un folio de una compra por decir algo, me interesa elresultado de esa compra y lo saco con la Clave, no se i e explique, gracias por tu respuesta, checare LEFT OUTER JOIN.

Aún así, eso ya lo estás haciendo cuando pones el "WHERE a.Clave = 3337", el JOIN debe ser con el ID del producto, o aún mejor... hacer el JOIN con los 2 valores.
En línea





Dominio en venta: https://forojapones.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
union de imagenes
Diseño Gráfico
superamigos 1 1,678 Último mensaje 2 Septiembre 2004, 11:44 am
por The-skull
Que es union REGS r;??
Programación General
sowher 8 5,915 Último mensaje 6 Agosto 2011, 06:42 am
por bash
Pasar union de C++ a IDL
Programación C/C++
novalida 0 1,337 Último mensaje 4 Agosto 2011, 18:32 pm
por novalida
Algoritmos quick union y wighted quick union?
Programación General
carlmycol 1 2,188 Último mensaje 11 Septiembre 2014, 18:05 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines