SQL-запрос, чтобы получить конкретный результат. Это может быть лямбда или LINQ - PullRequest
0 голосов
/ 07 октября 2019

Это не общий вопрос. Это все о моих 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

Я не знаю, как это объединить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...