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

No aparece completa la busqueda...

Estas en el tema de No aparece completa la busqueda... en el foro de Mysql en Foros del Web. Hola foreros salu2 soy nuevo por aqui XD, bueno tengo una pregunta estoy con una pagina php pero lo q no me sale es la ...
  #1 (permalink)  
Antiguo 10/01/2008, 13:32
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
No aparece completa la busqueda...

Hola foreros salu2 soy nuevo por aqui XD, bueno tengo una pregunta estoy con una pagina php pero lo q no me sale es la consulta en mysql. he aqui el problema:

tengo tablas;

tabla 1:
Código:
CREATE TABLE `especificaciones` (
  `id_especificaciones` bigint(11) NOT NULL auto_increment,
  `especificacion` varchar(255) character set utf8 collate utf8_spanish2_ci NOT NULL,
  `descripcion` varchar(255) character set utf8 collate utf8_spanish2_ci NOT NULL,
  `tipo` int(11) NOT NULL,
  `r_progress` int(11) NOT NULL,
  `r_hd` int(11) NOT NULL,
  `recepcion` date NOT NULL,
  `envio` date NOT NULL,
  `revision1` date NOT NULL,
  `envio_revision_1` date NOT NULL,
  `rec_adec` date NOT NULL,
  `envio_adec` date NOT NULL,
  `estimado` int(11) NOT NULL,
  `demora_real` int(11) NOT NULL,
  PRIMARY KEY  (`id_especificaciones`)
)
tabla 2:
Código:
CREATE TABLE `desarrolladores` (
  `id_desarrolladores` bigint(11) NOT NULL auto_increment,
  `desarrolladores` varchar(255) character set utf8 collate utf8_spanish2_ci NOT NULL,
  PRIMARY KEY  (`id_desarrolladores`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
bueno el problema es este quiero q aparezcan los datos juntos en una consulta pero no me salen solo aparecen los de las primera tabla pero los de la segunda no los toma en cuenta. este es el codigo de la consulta
Código PHP:
SELECT especificaciones.id_especificacionesespecificaciondescripcion
desarrolladores.desarrolladores FROM especificaciones 
LEFT JOIN desarrolladores 
ON especificaciones
.r_progress desarrolladores.id_desarrolladores 
no se cual es el problema a mi nivel de mysql no lo encuentro. salu2

Última edición por BrujoNic; 10/01/2008 a las 19:30
  #2 (permalink)  
Antiguo 11/01/2008, 04:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Re: No aparece completa la busqueda...

LEFT JOIN indica al server que devuelva de resultado los campso de la segunda tabla, pero no los de la primera.
Es decir, funciona así:
Cita:
Si no hay ningún registro coincidiente para la tabla de la derecha en la parte ON o USING en un
LEFT JOIN, se usa un registro con todos las columnas a NULL para la tabla de la derecha. Puede
usar este hecho para encontrar registros en una tabla que no tengan contraparte en otra tabla:
mysql> SELECT table1.* FROM table1
-> LEFT JOIN table2 ON table1.id=table2.id
-> WHERE table2.id IS NULL;
Este ejemplo encuentra todos los registros en table1 con un valor id no presente en table2
(esto es, todos los registros en table1 sin registro correspondiente en table2). Esto asume
que table2.id se declara NOT NULL
(Tomado del Manual de Referencia)
Si lo que deseas es que te devuelva los registros coincidentes, salvo que desees verificar nulos, es mejor usar INNER JOIN:
Cita:
SELECT e.id_especificaciones, especificacion, descripcion,
d.desarrolladores FROM especificaciones e
INNER JOIN desarrolladores d
ON e.r_progress = d.id_desarrolladores
  #3 (permalink)  
Antiguo 11/01/2008, 10:25
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: No aparece completa la busqueda...

Hola gracias por contestar gnzsoloyo.

bueno mira aqui esta la nueva consulta y tampoco me muestra el resultado asi esta bien??.

Código:
$consulta = "SELECT especificaciones.id_especificaciones, especificacion, descripcion, desarrolladores.desarrolladores FROM especificaciones INNER JOIN desarrolladores ON especificaciones.r_progress = desarrolladores.id_desarrolladores";
  #4 (permalink)  
Antiguo 11/01/2008, 15:57
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 4 meses
Puntos: 2
Re: No aparece completa la busqueda...

Pues no entiendo porqué no funciona el nuevo SQL

Podrías colocar algo de data de ambas tablas, el resultado que obtienes y el que querrías obtener?
  #5 (permalink)  
Antiguo 14/01/2008, 09:51
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: No aparece completa la busqueda...

hola sorry por tardar tanto pero era viernes XD. bueno la solucion era q llamaba a un campo q no habia consultado. con el array luego puse bien el campo y se soluciono...

Código:
SELECT 
    especificaciones.id_especificaciones, 
    especificaciones.especificacion, 
    especificaciones.descripcion, 
    desarrolladores.desarrolladores 
FROM 
    especificaciones 
INNER JOIN 
    desarrolladores 
          ON 
             especificaciones.r_progress = desarrolladores.id_desarrolladores
y leo $row['desarrolladores'];
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 03:23.