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

[SOLUCIONADO] unir 5 tablas mysql

Estas en el tema de unir 5 tablas mysql en el foro de Mysql en Foros del Web. saludos a coordiales. tengo la siguiente consulta necesito unir 5 tablas en este ejemplo puedo solo dos, intente con left join y no me resulto ...
  #1 (permalink)  
Antiguo 06/10/2015, 15:08
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 4 meses
Puntos: 6
Pregunta unir 5 tablas mysql

saludos a coordiales.

tengo la siguiente consulta necesito unir 5 tablas en este ejemplo puedo solo dos, intente con left join y no me resulto quiza no era la consulta adecuada.


ejemplo como deberia reflejar la respuesta:

persona `nombres` : pablo
producto `titulo_producto`: radio
marca `nombre_marcas`: philips
modelo `nombre_modelo`: mod32A
comentario `nombre_comentario`: excelente producto lo recomiendo


nota: es un producto que tiene marcas, modelos y sus comentarios en cada producto


Código HTML:
CREATE TABLE `personas` (
  `personasid` int(11) NOT NULL AUTO_INCREMENT,
  `cedula` varchar(40) NOT NULL DEFAULT '',
  `clave` varchar(40) NOT NULL DEFAULT '',
  `email` varchar(60) DEFAULT NULL,
  `nombres` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`personasid`),
  UNIQUE KEY `cedula` (`cedula`)
) ;
CREATE TABLE `productos` (
  `productosid` int(11) NOT NULL AUTO_INCREMENT,
  `modeloid` int(11) DEFAULT NULL,
  `marcasid` int(11) DEFAULT NULL,
  `personasid` int(11) DEFAULT NULL,
  `comentarioid` int(11) DEFAULT NULL,
  `titulo_producto` varchar(100) NOT NULL DEFAULT '',
  `descripcion` longtext NOT NULL,
  PRIMARY KEY (`productosid`)
) ;
CREATE TABLE `marcas` (
  `marcasid` int(11) NOT NULL AUTO_INCREMENT,
  `modeloid` int(11) DEFAULT NULL,
  `nombre_marcas` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`marcasid`)
) ;
CREATE TABLE `modelo` (
  `modeloid` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_modelo` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`modeloid`)
)  ;
CREATE TABLE `comentario` (
  `comentarioid` int(11) NOT NULL AUTO_INCREMENT,
  `nombre_comentario` varchar(100) NOT NULL DEFAULT '',
  PRIMARY KEY (`comentarioid`)
)  ;

Código PHP:


<?
$productsql 
"SELECT ".$tabla."productos.productosid, ".$tabla."productos.titulo_producto, ".$tabla."marcas.nombre_marcas  FROM ".$tabla."productos, ".$tabla."marcas WHERE ".$tabla."productos.marcasid=".$tabla."marcas.marcasid AND ".$tabla."productos.productosid=$productosid";


?>
  #2 (permalink)  
Antiguo 06/10/2015, 15:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: unir 5 tablas mysql

Creo que te equivocaste de foro.

Es decir, tu problema es de SQL únicamente, debiste abrir el tema en el foro de base de datos entonces.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/10/2015, 15:19
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 4 meses
Puntos: 6
Respuesta: unir 5 tablas mysql

Cita:
Iniciado por pateketrueke Ver Mensaje
Creo que te equivocaste de foro.

Es decir, tu problema es de SQL únicamente, debiste abrir el tema en el foro de base de datos entonces.
disculpa no era mi intencion, si puedes por favor muevelo a donde corresponde. Gracias
  #4 (permalink)  
Antiguo 08/12/2015, 09:02
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 4 meses
Puntos: 6
Respuesta: unir 5 tablas mysql

Bueno ya buen rato que he dado solucion a mi problema de esta forma


Ejemplo

Código PHP:
    <?php 
$sql 
"SELECT * FROM tabla_1  
INNER JOIN tabla_2 ON tabla_1.IDtb2 = tabla_2.IDtb2  
INNER JOIN tabla_3 ON tabla_1.IDtb3 = tabla_3.IDtb3  
INNER JOIN tabla_4 ON tabla_1.IDtb4 = tabla_4.IDtb4  
INNER JOIN tabla_5 ON tabla_1.IDtb5 = tabla_4.IDtb5  
WHERE tabla_1.IDtb1=$IDtb1"
;   
?>

Etiquetas: mysql+consulta, php
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 02:41.