SQL Server - Ayuda con interpretación de Query

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 7 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con interpretación de Query

Publicado por Elías (3 intervenciones) el 29/10/2018 18:28:40
Buenos días, amigos:

Por favor, ayúdenme a entender el siguiente query:

1
2
3
4
5
6
7
8
9
10
declare @fecha1 datetime='20140430'
             @fecha2 datetime='20180831'
 
select
          *
from tablaA A left join tablaB B
on  A.id=B.id left join TablaC C
on C.id=A.id and C.fecha1=A.fecha1 and C.fecha2 is not null
where fecha1 between @fecha1 and @fecha2 and idestado in (1,2,3) and clase not in ('A','B')
and not exist (select * from tablaA D where idestado in (2,3) and fecha1=@fecha1 and D.id=A.id) or (clase in ('A','B') and A.fecha1=@fecha2)

En este sentido tengo 2 preguntas:

a. ¿El not exist abarca al "select *from tabla A D..." y a lo que sigue después del OR?
b. ¿Esta es una especie de resta?

Desde ya gracias por sus aportes y puntos de vista. Saludos,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con interpretación de Query

Publicado por Isaias (4558 intervenciones) el 30/10/2018 17:08:46
a: Al utilizar un NOT EXISTS, estas haciendo un JOIN con esta instrucion:

fecha1=@fecha1 and D.id=A.id

b: No se comprende su pregunta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 7 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con interpretación de Query

Publicado por Elías (3 intervenciones) el 30/10/2018 17:43:39
Gracias, por tu respuesta.

Lo de la pregunta de la resta, es por que como hago join de A, B y C y luego hago join con lo que no existe en A. Es una especie de resta o exclusión, verdad?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar