Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 23-ago-2006, 15:16   #1 (permalink)
amnix ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2005
Mensajes: 132
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
amnix está desconectado   Responder Citando
Antiguo 23-ago-2006, 15:58   #2 (permalink)
nacho_99i ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
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
nacho_99i está desconectado   Responder Citando
Antiguo 24-ago-2006, 07:31   #3 (permalink)
amnix ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2005
Mensajes: 132
gracias si resulto el left join
amnix está desconectado   Responder Citando
Antiguo 24-ago-2006, 08:11   #4 (permalink)
nacho_99i ha deshabilitado el karma
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
De nada. Nos vemos
nacho_99i está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 14:27.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93