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

Consulta sobre mostras provincias en 2 tablas

Estas en el tema de Consulta sobre mostras provincias en 2 tablas en el foro de Mysql en Foros del Web. Hola a todos, Os escribo para ve si me podeis ayudar con una consulta que me trae de cabeza y que no consigo hacer. Tengo ...
  #1 (permalink)  
Antiguo 05/04/2011, 17:54
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Consulta sobre mostras provincias en 2 tablas

Hola a todos,
Os escribo para ve si me podeis ayudar con una consulta que me trae de cabeza y que no consigo hacer.
Tengo las siguientes tablas:
cargas->idcarga, idcooperativa, iddestino, idorigen, etc.
destino-> iddestino, fecha, hora, idprovincia, localidad, codigopostal
origen-> idorigen, fecha, hora, idprovincia, localidad, codigopostal
provincia -> idprovincia, provincia

Mi problema viene cuando quiero hacer una consulta a la tabla cargas para que aparezca todo listado, es decir, el nombre de la cooperativa, fecha origen, hora origen, provincia origen, localidad origen, codigo postal origen, fecha destino, hora destino, provincia destino, localidad destino, codigo postal destino.
Todo va bien y se muestra correctamente hasta que tengo que mostrar la provincia de origen y la provincia de destino. Solo consigo que me aparezca una (o bien la de origen o la de destino) pero necesito las dos, a continuación os pongo las sentencias para la consulta que tengo.

Código PHP:
SELECT cooperativas.usuario
    
especialidad.descripcionespecialidad
    
formacarga.descripcionformacarga
    
cargas.idcarga
    
cargas.descripcioncarga
    
tipocamion.tipocamion
    
cargas.precio
    
cargas.volumen
    
cargas.peso
    
cargas.largo
    
cargas.adr
    
cargas.visible
    
destino.fechadestino
    
destino.horadescarga
    
destino.idprovincias
    
destino.localidad
    
destino.codigopostal
    
provincias.provincia
    
origen.fechaorigen
    
origen.horacarga
    
origen.idprovincia
    
origen.localidad
    
origen.codigopostal
FROM cargas LEFT JOIN cooperativas ON cargas
.idpublica cooperativas.idcooperativa
     LEFT JOIN especialidad ON cargas
.idespecialidad especialidad.idespecialidad
     LEFT JOIN formacarga ON cargas
.idformacarga formacarga.idformacarga
     LEFT JOIN tipocamion ON cargas
.idtipocamion tipocamion.idtipocamion
     LEFT JOIN destino ON cargas
.iddestino destino.iddestino
     LEFT JOIN origen ON cargas
.idorigen origen.idorigen
     LEFT JOIN provincias ON destino
.idprovincias provincias.idprovincia 
En destino he puesto "idprovincias" para ver si funcionaba si era distinto al de origen "idprovincia", pero ni con eso. Con esta sentencia me presenta la provincia de destino, como puedo poner a mayores la de origen.

Gracias a todos por la ayuda
  #2 (permalink)  
Antiguo 05/04/2011, 18:20
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Consulta sobre mostras provincias en 2 tablas

Saludos

Prueba agregando la siguiente condición en tu ultima linea

Código MySQL:
Ver original
  1. LEFT JOIN provincias provinciaorig ON origen.idprovincias = provinciaorig .idprovincia

y en el select agregar

Código MySQL:
Ver original
  1. provinciaorig .provincia,
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 06/04/2011, 03:28
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Consulta sobre mostras provincias en 2 tablas

Gracias por tu respuesta Nano,
Una duda, con lo que me pones se supone que tengo que crear alguna tabla mas o crear algún alias ???
porque "provinciaorig" no lo tengo en mi base

Gracias
  #4 (permalink)  
Antiguo 06/04/2011, 07:35
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Consulta sobre mostras provincias en 2 tablas

Saludos

Es llamar nuevamente tu tabla pero con un alias para separar la cardinalidad entre la provincia de origen y la provincia de destino!.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 06/04/2011, 16:47
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Consulta sobre mostras provincias en 2 tablas

Nada, solo me sigue cogiendo los datos de la primera sentencias, es decir me pone un campo como "provincias.provincia" y el valor de "origen.idprovincia" pero ni rastro de "destino.idprovincia".

Si hay mas ideas se agradecen, la única solución que se me ocurre, es cargarme la tabla de provincias y estas meterlas en un campo "set" con las provincias como opciones del campo pero tendría que hacerlo para la tabla origen y la tabla destino. Lo que ocurre es que así no es que esté muy bien diseñada la base de datos ya que se me repiten los mismo datos en dos tablas distintas.

Gracias de todas formas,
  #6 (permalink)  
Antiguo 06/04/2011, 16:55
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Consulta sobre mostras provincias en 2 tablas

Ya está solucionado, te pongo al final la sentencia, lo que no comprendo es porque al principio no salía, muchas gracias por la ayuda compañero.
Código PHP:
Ver original
  1. SELECT cooperativas.usuario,
  2.     especialidad.descripcionespecialidad,
  3.     formacarga.descripcionformacarga,
  4.     cargas.idcarga,
  5.     cargas.descripcioncarga,
  6.     tipocamion.tipocamion,
  7.     cargas.precio,
  8.     cargas.volumen,
  9.     cargas.peso,
  10.     cargas.largo,
  11.     cargas.adr,
  12.     cargas.visible,
  13.     destino.fechadestino,
  14.     destino.horadescarga,
  15.     destino.idprovincias,
  16.     destino.localidad,
  17.     destino.codigopostal,
  18.     provincias.provincia,
  19.     origen.fechaorigen,
  20.     origen.horacarga,
  21.     origen.idprovincia,
  22.     origen.localidad,
  23.     origen.codigopostal,
  24.     provinciaorig.provincia
  25. FROM cargas LEFT OUTER JOIN cooperativas ON cargas.idpublica = cooperativas.idcooperativa
  26.      LEFT OUTER JOIN especialidad ON cargas.idespecialidad = especialidad.idespecialidad
  27.      LEFT OUTER JOIN formacarga ON cargas.idformacarga = formacarga.idformacarga
  28.      LEFT OUTER JOIN tipocamion ON cargas.idtipocamion = tipocamion.idtipocamion
  29.      LEFT OUTER JOIN destino ON cargas.iddestino = destino.iddestino
  30.      LEFT OUTER JOIN origen ON cargas.idorigen = origen.idorigen
  31.      LEFT OUTER JOIN provincias ON destino.idprovincias = provincias.idprovincia
  32.      LEFT OUTER JOIN provincias provinciaorig ON origen.idprovincia = provinciaorig.idprovincia

Etiquetas: provincias, tablas
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 10:00.