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

Ayuda con una consulta

Estas en el tema de Ayuda con una consulta en el foro de Bases de Datos General en Foros del Web. Buenas, tengo q hacer una consulta en mysql, tengo dos tablas muchos a muchos, Propietario ->dueño de uno o varios vehiculos. nombre documento Vehiculo ->tiene ...
  #1 (permalink)  
Antiguo 27/07/2010, 09:47
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 15 años, 9 meses
Puntos: 5
Busqueda Ayuda con una consulta

Buenas, tengo q hacer una consulta en mysql, tengo dos tablas muchos a muchos,
  • Propietario->dueño de uno o varios vehiculos.
    • nombre
    • documento
  • Vehiculo->tiene uno o varios dueños (un vehiculo puede tener varios dueños)
    • placa
    • color
  • propie-vehi->tabla que rompe la relación muchos a muchos.
    • placa
    • documento

Ahora viene el inconveniente, resulta q no a todo vehiculo se le registra al menos un dueño(osea un vehiculo en bd sin dueño). Y necesito mostrar los datos del vehiculo y los propietarios q este tenga y si no tiene propietario que se muestre el vehiculo sin este dato.

NO sé si esta consulta se pueda realizar.
  #2 (permalink)  
Antiguo 27/07/2010, 13:04
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Ayuda con una consulta

tienes que usar una consulta parecida a esta:
select v.placa, v.color, IFNULL(p.nombre, "sin propietario") FROM vehiculo v LEFT JOIN `propie-vehi` pv ON v.placa =p.placa INNER JOIN propietario p ON pv.documento = p.documento

Última edición por jurena; 27/07/2010 a las 14:28
  #3 (permalink)  
Antiguo 27/07/2010, 14:15
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Ayuda con una consulta

gracias jurena
ISNULL(p.nombre, "sin propietario") --> no me funciona, lo deje asi--> ISNULL(p.nombre) y me arroja 0 (cero) y no me devuelve las placas de los vehiculos que no tienen dueño.
  #4 (permalink)  
Antiguo 27/07/2010, 14:27
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Ayuda con una consulta

perdón, no es ISNULL, sino IFNULL

error mío. He editado y corregido la consulta.
  #5 (permalink)  
Antiguo 30/07/2010, 03:38
 
Fecha de Ingreso: junio-2010
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Ayuda con una consulta

Mas facil, con la sentencia outer join , lef/right outer join, que te saca todas las filas de una tabla aunke no este en la otra tabla relacionada
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 13:35.