В Microsoft SQL Server я хочу выбрать данные, которые существуют в таблицах A, C, D и не существуют в B. Могу ли я написать, как показано ниже?
Select A.Store,C.Item,D.Cost
from A
Inner Join C on A.Store=C.Store and A.Item=C.Item
Inner join D on C.Store=D.Store and C.Item=D.Item
And Not exists (Select * from B where A.Store=B.Store and A.Item=B.Item)`
Да, ваш запрос имеет смысл.
Вы также можете использоватьleft join
следующее:
Select A.Store,C.Item,D.Cost
from A
Inner Join C on A.Store=C.Store and A.Item=C.Item
Inner join D on C.Store=D.Store and C.Item=D.Item
Left join B on A.Store=B.Store and A.Item=B.Item
Where b.store is null;