Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   consulta sql y mysql (https://www.clubdelphi.com/foros/showthread.php?t=91682)

paolag 28-03-2017 19:11:40

consulta sql y mysql
 
realice una consulta que me muestra 8 datos


Código SQL [-]

seelect s.a, s.b, isnull(z1.c,0) , isnull(z1.d , 0) , isnull(z1.f,0)  , isnull(z2.g,0) , isnull(z2.h,0) , isnull(z2.i, 0)

from suc s

     inner join ( me muestra  x, y, c, d, f por medio de una subconsulta) as z1

                   on  s.a =z1.x

     left join (me muestra  x, y, g, h, i otra soubconsulta) as z2

                   on  s.a = z2.x



pero z1 conteiene datos que no estan en z2 y viceversa

con esta consulta me muestra todos los datos esepto los que estan en z2 y no estan en z1

lo que quiero es mostrar todo sin excepcion pero sin tener que usar un full join

de antemano gracias :)

mamcx 28-03-2017 19:13:58

Recuerda usar los tags de codigo (mira la guia de estilo).

Si quieres mostrar ambos lados del join eso es FULL JOIN.

paolag 28-03-2017 19:18:34

lo malo es que no debo usar un full join

se les ocurre alguna otra solucion?

mamcx 28-03-2017 20:14:06

Y porque no?

Podrias mostrar datos de prueba? Y con el sql completo? Y eso son los nombres de campos? Porque son muy cripticos...

orodriguezca 28-03-2017 23:21:51

Te serviría:

Z1 Exception join Z2 (Los que están en Z1 que no están en Z2)
Union
Z2 Exception join Z1 (los que están en Z2 que no están en Z1)
Union
Z1 inner join Z2 (Los que están en Z1 y están en Z2)

Pero como ya te comentaron esto es un Full JOIN.

Casimiro Notevi 29-03-2017 00:39:21

Cita:

Empezado por mamcx (Mensaje 514847)
Y porque no?

Podrias mostrar datos de prueba? Y con el sql completo? Y eso son los nombres de campos? Porque son muy cripticos...

^\||/^\||/^\||/

paolag 01-04-2017 19:03:59

consulta sql y mysql
 
hola buenos dias tengo un problema al hacer una consulta debo hacerlo con left join por que asi me lo piden, y la sigiente subconsulta debe de ir dentro de un left join



Código SQL [-]
left join (

          

                 SELECT venta.sucursal, count(distinct(venta.venta)) as nota,ISNULL(VENTA.vendedor,"NO") AS vendedor
                    from  openquery(SMYSQLCIPSIS, 
                    'select v.sucursal, v.venta, vendedor
                       FROM VENTA V 
                       INNER JOIN DET_VT D 
                       ON V.SUCURSAL = D.SUCURSAL
                       AND V.VENTA = D.VENTA 
                       WHERE FECHA between "@fechaIni" and " @fechaFin" 
                       AND STATUS <> "ZC"' ) as venta
                       where vendedor <> "NO"
                  group by venta.sucursal, venta.venta,  venta.vendedor
                  --order by venta.sucursal, nota, vendedor
                ) ventas 
            on ventas.vendedor = e.vendedor



el problema es al momento de mandarle las fechas a la parte del codigo de MySQL (@fechaIni y @fechaFin) usal mente lo hacia asi : " ' +@fechaIni + ' " pero esto solo funciona si lo hago con set @consulta = (el codigo anterior)

exec(@consulta)

pero dentro del left join no sirve o no se usarlo, pero a fuerzas tengo que usar un left join ya que son barias tablas conectadas entre si, si pudieran ayudarme se los agradecería mucho


La franja horaria es GMT +2. Ahora son las 18:51:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi