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

Problema con UNION ALL SELECT

Estas en el tema de Problema con UNION ALL SELECT en el foro de Bases de Datos General en Foros del Web. Hola, estamos desarrollando un proyecto en el cual hay una consulta asi: Código PHP: $consulta = "SELECT campo1, campo 2 FROM tabla1 LEFT JOIN tabla2  ON campo3.campo4=campo5 WHERE tabla1.campo6='$var1'  UNION ALL  SELECT campo10, campo11 FROM tabla10 LEFT JOIN tabla2 ON campo3.campo4=campo5 WHERE  tabla10.campo6='$var1'" ; $resultado = ...
  #1 (permalink)  
Antiguo 08/07/2005, 04:38
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 19 años, 5 meses
Puntos: 2
Problema con UNION ALL SELECT

Hola, estamos desarrollando un proyecto en el cual hay una consulta asi:
Código PHP:

$consulta
="SELECT campo1, campo 2 FROM tabla1 LEFT JOIN tabla2 

ON campo3.campo4=campo5 WHERE tabla1.campo6='$var1' 

UNION ALL 

SELECT campo10, campo11

FROM tabla10 LEFT JOIN tabla2 ON campo3.campo4=campo5 WHERE 

tabla10.campo6='$var1'"
;

$resultado=mysql_db_query("$database_mysql",$consulta) or die 

(
mysql_error()); 
cuando se ejecuta en localhost funciona perfectamente, pero cuando se ejecuta en un servidor externo, da el siguiente error:

You have an error in your SQL syntax near 'UNION ALL SELECT tabla1, tabla2' at line 2

¿será por la version de mysql?

- Los datos de conexion a la base de datos del servidor externo están correctos, porque eso es lo único que no funciona.


Muchas gracias y un saludo, ;)
  #2 (permalink)  
Antiguo 08/07/2005, 16:45
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 7 meses
Puntos: 25
No estoy muy experimentado en la sintaxis de MySQL, ¿pero has probado agrupar con paéntesis? algo como...
Código:
(SELECT campo1, campo 2 FROM tabla1 LEFT JOIN tabla2
ON campo3.campo4=campo5 WHERE tabla1.campo6='$var1')
UNION ALL
(SELECT campo10, campo11
FROM tabla10 LEFT JOIN tabla2 ON campo3.campo4=campo5 WHERE
tabla10.campo6='$var1')
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 09/07/2005, 15:57
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 19 años, 5 meses
Puntos: 2
hola, he probado con los parentesis y nada... sigue sin funcionar. de todas formas igual es x la version de mysql, xq en mi localhost funciona, y en el servidor externo no.

si alguien sabe algo agradeceria q m diese alguna pista, ya ire probando diferentes sintaxis.

Gracias y un saludo ;)
  #4 (permalink)  
Antiguo 11/07/2005, 01:10
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
Un error común al hacer una sentencia "Union" es no poner campos de idéntico tipo en la misma posición. Revisa esto, pues incluso he visto errores por ser campos char de diferente longitud, esto depende del gestor de base de datos. En mysql, en concreto, pues no sé cuales son las restricciones que puede tener para poder usarlo.

Revisa también que el servidor tenga una versión de mysql 4.0 o superior, sino no te funcionará.
Puedes consultar la sintaxis concreta del Union.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 11/07/2005, 01:53
Avatar de compositor19  
Fecha de Ingreso: junio-2005
Ubicación: Zaragoza
Mensajes: 215
Antigüedad: 19 años, 5 meses
Puntos: 2
Hola, el servidor es inferior a la versión 4, reescribiré la sintaxis a ver si así funciona. Muchas gracis por todo.

;)
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 23:09.