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

problema con join

Estas en el tema de problema con join en el foro de Mysql en Foros del Web. a ver si me se explicr y si alguien me ayuda tengo este Query Código PHP: SELECT a . id_tt  as  Ticket , e . dsc_ttstatus  ...
  #1 (permalink)  
Antiguo 23/08/2006, 15:16
 
Fecha de Ingreso: mayo-2005
Mensajes: 132
Antigüedad: 18 años, 11 meses
Puntos: 0
Exclamación problema con join

a ver si me se explicr y si alguien me ayuda
tengo este Query
Código PHP:
SELECT a.id_tt as Ticket,e.dsc_ttstatus as Status,a.id_user as 'Creado por',
a.id_proveedor as Proveedor,a.fec_solicitud as 'Fecha de solicitud',          
a.fec_autorizacion as 'Fecha de autorizacion'a.fec_entrega as 'Fecha de entrega'
f.fec_actualizacion as 'Fecha de Ejecucion',
a.id_status
FROM  tt_trouble_ticket a
tt_cat_status ett_log_ticket f
WHERE a
.id_status e.id_status 
AND a.fec_solicitud >= DATE_ADD('2006-08-23'INTERVAL -90 DAY)
AND 
f.id_statusac 6
AND a.id_tt f.id_tt
ORDER BY a
.fec_solicitud 
este query funciona a medias, porque en la tabla a hay campos que en la tabla f no existen, como hacer para que me traiga los registros de a auqneu no existan en f debido a la condicion -AND a.id_tt = f.id_tt-

en Sybase es asi: AND a.id_tt *= f.id_tt con el asterisco lo indicas, pero en MySQL alguien sabe como, siquiera recuerdenme como se llama esta propiedad :D
  #2 (permalink)  
Antiguo 23/08/2006, 15:58
 
Fecha de Ingreso: noviembre-2005
Mensajes: 27
Antigüedad: 18 años, 5 meses
Puntos: 0
En MSQL tambien es como tu dices y en ORCALE es (+)
La única forma que encontre en mysql es crear la relacion en el from, si bien la de uno a uno en el where se puede usar, la de uno a varios no encontre la forma. Por eso te recomiendo esta. Donde la primer join es de uno a uno y el segundo es de todos los de a y solo aquello de f que sean iguales.
Espero haberte entendido y que esto te sirva.
Pd. Si te tira error de sintaxi proba sin usar los alias
Saludos

SELECT a.id_tt as Ticket,e.dsc_ttstatus as Status,a.id_user as 'Creado por',
a.id_proveedor as Proveedor,a.fec_solicitud as 'Fecha de solicitud',
a.fec_autorizacion as 'Fecha de autorizacion', a.fec_entrega as 'Fecha de entrega',
f.fec_actualizacion as 'Fecha de Ejecucion',
a.id_status
FROM tt_trouble_ticket a
Inner Join tt_cat_status e
ON a.id_status = e.id_status
Left Join tt_log_ticket f ON a.id_tt = f.id_tt
WHERE a.fec_solicitud >= DATE_ADD('2006-08-23', INTERVAL -90 DAY)
AND f.id_statusac = 6
ORDER BY a.fec_solicitud
  #3 (permalink)  
Antiguo 24/08/2006, 07:31
 
Fecha de Ingreso: mayo-2005
Mensajes: 132
Antigüedad: 18 años, 11 meses
Puntos: 0
gracias si resulto el left join
  #4 (permalink)  
Antiguo 24/08/2006, 08:11
 
Fecha de Ingreso: noviembre-2005
Mensajes: 27
Antigüedad: 18 años, 5 meses
Puntos: 0
De nada. Nos vemos
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 16:31.