![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
A ver si te sirve ésto:
Código:
select tabla1.campo, tabla2.campo, tabla3.campo from tabla1 left outer join tabla2 on tabla1.campo1 = tabla2.campo left outer join tabla3 on tabla1.campo2 = tabla3.campo Código:
select alias.campo, alias.campo, tabla3.campo from ( select tabla1.campo, tabla2.campo from tabla1 left outer join tabla2 on tabla1.campo1 = tabla2.campo ) alias left outer join tabla3 on alias.campo = tabla3.campo Jorge. |
|
#2
|
||||
|
||||
|
Perdon, a lo que me refiero con lo de la versión 2.0 eso es para Firebird, si es sql server, oracle, Informix no he tenido problema.
Saludos, Jorge. |
|
#3
|
|||
|
|||
|
Espero Que Te Sirva Esto
Buenas tardes,
primero que nada lo que entiendo es que quieres desplegar los sigguiente: T1.CODIGO T1.NOMBRE T1.SUELDO T1.CODIGOCOMENTARIO T3.DESCRIPION SUM(T2.Descuento) esas son tus tablas; Tabla1 codigo Char nombre Char sueldo Float codigocomentario Char Tabla2 codigo Char (relacion con tabla1.codigo) descuento Tabla3 (contiene comenatarios) codigo Char (relacion con tabla1.codigocomentario) descripcion Text a lo que entiendo con tu esquema es que un comentario en tabla3 lo puedes asignar a varias tablas1... finalmente entiendo también que la tabla2 contiene varios descuentos para la tabla2 y que además de eso la tabla 2 no tiene campo llave.. en fin y finalmente segun la consulta que me pones que haces Select T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario, SUM(T2.descuento) As descuento From Tabla1 as T1 LEFT JOIN Tabla2 As T2 ON T1.codigo = T2.codigo WHERE T1.codigo= numGroup by T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario Order By T1.codigo entiendo que pasas como parámeto el código a T1.codigo por medio de la variable num.si todo esto es cierto entonces podríamos resolver tu problema de la siguiente forma select T1.Codigo,T1.nombre,T1.sueldo,T1.codigocomentario,T3.descripcion,(select sum(T2.descuento) from Tabla2 as T2 where T2.codigo=T1.codigo) as Descuentos from Tabla1 as T1,Tabla3 as T3 where T1.codigocomentario=T3.codigo and T1.codigo= num; |
|
#4
|
||||
|
||||
|
Aplicado a tu select:
Código:
Select T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario, (Select SUM(T2.descuento) From Tabla2 As T2 Where T2.codigo = T1.codigo ) As descuento, T3.descripcion From Tabla1 as T1 LEFT OUTER JOIN Tabla3 As T3 ON T1.codigocomentario = T3.codigo WHERE T1.codigo= :pnum Order By T1.codigo Código:
Select T.*,T3.descripcion FROM ( Select T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario, SUM(T2.descuento) As descuento From Tabla1 as T1 LEFT OUTER JOIN Tabla2 As T2 ON T1.codigo = T2.codigo WHERE T1.codigo= :pnum Group by T1.codigo,T1.nombre,T1.sueldo,T1.codigocomentario ) As T LEFT OUTER JOIN Tabla3 As T3 ON T.codigocomentario = T3.codigo Order By T.codigo Jorge. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|