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

quitar UNION en una consulta

Estas en el tema de quitar UNION en una consulta en el foro de Mysql en Foros del Web. Hola a todos, tengo un problema con una aplicacion y queria pedirles ayuda. Os explico lo que tengo con un ejemplo: Tengo 2 tablas: coches ...
  #1 (permalink)  
Antiguo 03/03/2011, 06:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
quitar UNION en una consulta

Hola a todos, tengo un problema con una aplicacion y queria pedirles ayuda.

Os explico lo que tengo con un ejemplo: Tengo 2 tablas: coches y motos

coches: tiene los campos (marca y modelo)
motos: tiene los campos (marca y modelo)
tienen mas campos, pero ahora solo necesito esos

en principio queria realizar consultas de los datos de las 2 tablas:
Lo que hacia era esto....

SELECT marca,modelo FROM coches WHERE (segun lo que quiera buscar) UNION SELECT marca,modelo FROM motos WHERE (lo que necesite)

Los "where" pueden ser distintos.

Esto me muestra una lista de marcas y modelos tanto de coches como de motos, segun lo que busque de cada 1.

Mi pregunta es: ¿Se puede realizar la consulta de forma que no use "UNION" y solo tenga un FROM y un WHERE?

De la forma: SELECT marca,modelo FROM coches,motos WHERE (coches.marca='algo' OR motos.marca='otra cosa')
Algo asi es lo que busco, pero me dice que marca y modelo son ambigüos en el select

Lo necesito para introducir el from y eh where en otra aplicacion distinta y con la union no puedo juntarlos.

El problema tal vez estaria solucionado si todo estuviera en una tabla, pero por otros motivos deben estar separados.

espero vuestra sabiduria XD
gracias
  #2 (permalink)  
Antiguo 03/03/2011, 07:02
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
Respuesta: quitar UNION en una consulta

Cita:
Mi pregunta es: ¿Se puede realizar la consulta de forma que no use "UNION" y solo tenga un FROM y un WHERE?
No si lo que quieres son dos columnas. Cualquier otra alternativa te dejará más de dos, y campos en NULL si la cantidad de registros no es la misma entre ambos resultados.
Cita:
Lo necesito para introducir el from y eh where en otra aplicacion distinta y con la union no puedo juntarlos.
¿No estás exagerando las complicaciones? ¿Por qué no haces simplemente dos llamados de consultas distintos, ya que los resultados buscados son diferentes?
En Todo caso si quieres una sola consulta, pero separar los datos en bloques, lo que te conviene es tener algún atributo en la tabla de resultado que te permita hacer la separación programáticamente, y no complicar la ida en la base.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 04/03/2011, 04:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: quitar UNION en una consulta

gracias por la respuesta. Ya me he dado cuenta que me saca campos nulos o simplemente me repite las filas una y otra vez.

En cuanto a lo de hacerlo en 2 consultas era lo que hacia al principio. El problema es que me dan unas librerias con las que tengo que trabajar y solo puedo añadir una, la otra se quedaria fuera. Supongo que intentare modificar las librerias de alguna forma, a veces la reutilizacion de codigo no es tan guay XD

gracias de nuevo

Etiquetas: quitar, union
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 22:35.