Foros del Web » Programando para Internet » PHP »

Consulta sobre uso UNION

Estas en el tema de Consulta sobre uso UNION en el foro de PHP en Foros del Web. Hola, les comento que lo que quiero hacer es en un mismo query llamar a dos tablas y poder utilizar los resultados para ponerlos en ...
  #1 (permalink)  
Antiguo 03/11/2005, 20:47
Avatar de roswell  
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Exclamación Consulta sobre uso UNION

Hola, les comento que lo que quiero hacer es en un mismo query llamar a dos tablas y poder utilizar los resultados para ponerlos en el home de mi web, lo que hice es lo siguiente:

Código PHP:
$result "(SELECT sid, catid, titulo, epigrafe, resumen, foto, fecha FROM noticias WHERE catid='2' order by fecha DESC limit 0,1)
           UNION
           (SELECT title, text, cover FROM notas ORDER BY date DESC limit 0,1)"
;

$sql mysql_query($result,$conexion) or die ("Error: ".mysql_error()); 
Esto me arroja el siguiente error: The used SELECT statements have a different number of columns

Tienen que tener la misma cantidad de columnas?, no hay otra manera sino de llamarlos que no se tenga en cuenta cantidad de columnas?.

GRacias.
  #2 (permalink)  
Antiguo 03/11/2005, 21:18
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola roswell!

En efecto necesitas el mismo número de columnas pero puedes hacer la consulta así:

Código:
(SELECT sid, catid, titulo, epigrafe, resumen, foto, fecha FROM noticias WHERE catid='2' order by fecha DESC limit 0,1) UNION (SELECT title, text, cover, '', '', '', '' FROM notas ORDER BY date DESC limit 0,1)
En la segunda consulta, rellene las columas faltantes, que no tuvieran ningún dato, para que sean 7 en la primera y 7 en la segunda, de esa manera hará la unión correctamente.

Suerte!
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #3 (permalink)  
Antiguo 04/11/2005, 01:12
Avatar de roswell  
Fecha de Ingreso: abril-2004
Ubicación: Buenos Aires
Mensajes: 80
Antigüedad: 20 años
Puntos: 0
Muchas Gracias me funciono muy bien. Yo en un momento habia pensado en poner NULL pero no lo probe, pero con esto me anduvo muy bien.
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 16:38.