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

duda consulta

Estas en el tema de duda consulta en el foro de Mysql en Foros del Web. Hola tengo una duda de cómo hacer una consulta. Tengo estas 4 tablas En la tabla usuarios el rol puede ser admin, cliente o empleado. ...
  #1 (permalink)  
Antiguo 15/05/2013, 08:02
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
duda consulta

Hola tengo una duda de cómo hacer una consulta.

Tengo estas 4 tablas

En la tabla usuarios el rol puede ser admin, cliente o empleado.

Lo que quiero es hacer una consulta en la que yo pensando las variables nombre, apellidos, dni y rol. donde si quiero que sea cualquiera las variables contendrian %.

Lo que quiero es por ejemplo sacar todos los datos de todos los usuarios sean empleados, clientes o admin.

algo así como:
Código:
 select * from usuarios as u, clientes as c where c.dni=u.dni union
( select * from usuarios as u, admin as a where a.dni=u.dni  union
(select * from usuarios as u, empleado as e where e.dni=u.dni ))
Pero al no tener el mismo numero de columnas esto no lo puedo hacer.
  #2 (permalink)  
Antiguo 15/05/2013, 08:17
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, 5 meses
Puntos: 2658
Respuesta: duda consulta

Cita:
Pero al no tener el mismo numero de columnas esto no lo puedo hacer.
Entonces tienes que invocar las columnas de cada caso, de modo que cada SELECT devuelva igual cantidad de columnas, del mismo tipo y en el mismo orden.
De lo contrario no se puede hacer en una única consulta.
__________________
¿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 15/05/2013, 08:31
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años
Puntos: 0
Respuesta: duda consulta

Quiero obtener todas las columnas, así que tendré que hacer 3 consultas.

Gracias por la ayuda

Etiquetas: select, tabla
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 15:41.