Это не общий вопрос. Это все о моих 3 столах, и я не мог понять, с чего начать. В основном у меня есть 3 таблицы. ClientModels, DolsMcaItemModels и DolsMcaClientModels.
ClientModels - Все клиенты и их ClientID
DolsMcaItemModels - список документов, обязательный столбец.
DolsMcaClientModels - в этой таблице хранятся все клиентские DolsMcaItemModels.
Я пытаюсь получить список клиентов, у которых нет обязательных документов в DolsMcaClientModels.
Например, если у меня есть обязательный документ "Passport" в DolsMcaItemModels, и я хочу получитьсписок клиентов, у которых нет паспорта.
ТАБЛИЦА КЛИЕНТОВ
SELECT C.[ClientID]
,[ClientName]
,[ClientDOB]
FROM [dbo].[ClientModels]
СПИСОК ДОКУМЕНТОВ
SELECT [DolsMcaItemID]
,[DolsMcaItemName]
,[DolsMcaItemMandatory]
,[DolsMcaItemStatus]
FROM [dbo].[DolsMcaItemModels]
WHERE [DolsMcaItemStatus] = true
Таблица клиентских документов
SELECT [DolsMcaClientID]
,[DolsMcaItemID]
,[ClientID]
,[DolsMcaClientItemStatus]
FROM [dbo].[DolsMcaClientModels]
Пока что я сделал Список клиентов, у которых нет документов
SELECT C.[ClientID]
,[ClientName]
,[ClientDOB]
FROM [dbo].[ClientModels] C
LEFT JOIN [DolsMcaClientModels] CI ON C.ClientID = CI.ClientID
WHERE CI.ClientID IS NULL
и список обязательных отсутствует.
SELECT I.[DolsMcaItemID]
,[DolsMcaItemName]
,[DolsMcaItemLevel]
,[DolsMcaItemMandatory]
,[DolsMcaItemStatus]
FROM [dbo].[DolsMcaItemModels] I
LEFT JOIN [DolsMcaClientModels] CI2 ON I.DolsMcaItemID = CI2.DolsMcaItemID
WHERE CI2.DolsMcaItemID IS NULL AND [DolsMcaItemMandatory] = 1
Я не знаю, как это объединить.