Ik heb 2 tabellen.
A:
id
datetime
serial
type
B:
id
datetime
serial
type
Nou wil ik het aantal serial nummers hebben uit tabel A met type "C" van vorige maand (whatever maakt even niet uit, kan in voorbeeld zelfs weg gelaten worden)
MAAR
de serienummers die in B voorkomt moet ik NIET meetellen..
Nou doe ik het met 2 losse queries.
SELECT COUNT(serial) FROM A WHERE type = "C" AND (DATEPART(week, datetime) = 15 OR DATEPART(week, datetime) = 16 OR DATEPART(week, datetime) = 17 OR DATEPART(week, datetime) = 18) AND DATEPART(yyyy, datetime) = 2020
Nou moeten alleen de serienummers die ook nog in B voorkomen er vanaf.
SELECT COUNT(a.[t_serial])
FROM A a
RIGHT JOIN B b
ON b.serial = a.serial
WHERE a.Type = "C"
AND (DATEPART(week, a.datetime) = 15 OR DATEPART(week, datetime) = 16 OR DATEPART(week, datetime) = 17 OR DATEPART(week, datetime) = 18) AND DATEPART(yyyy, datetime) = 2020
En deze aantal aftrekken van de ander, maar.... Ik krijg nou dubbele results in de 2e query..
1 is van A en 1 is van B.
Het kan wel zijn, dat het serienummer in B met een andere type voorkomt. Dan alsnog mag ik hem niet meetellen.