Добрый день коллеги! Подскажите пожалуйста, как правильно переложить данную sql конструкцию под запрос на new Select() версии 5x?
Интересует именно реализация EXISTS
AND (
EXISTS(
SELECT Id FROM CampaignTarget
WHERE cardId = 'F9ED80C6-1575-4757-83B1-2A7B32B85AA1'
AND CampaignId = [Campaign].[Id]
)
OR NOT EXISTS(
SELECT Id FROM CampaignTarget
WHERE CampaignId = [Campaign].[Id]
)
)
EXISTS(
SELECT Id FROM CampaignTarget
WHERE cardId = 'F9ED80C6-1575-4757-83B1-2A7B32B85AA1'
AND CampaignId = [Campaign].[Id]
)
OR NOT EXISTS(
SELECT Id FROM CampaignTarget
WHERE CampaignId = [Campaign].[Id]
)
)
Спасибо!
Нравится
2 комментария
11 мая 2016 11:00
Влад, вот пример запроса с Exists и Not Exists:
Select select = new Select(UserConnection) .Column("DestinationRecordId") .Column("Id") .From("LookupConflict") .Where("LookupSchemaName").IsEqual(Column.Parameter(node.Values["Lookup"])) .And("LookupSchemaDisplayColumnName").IsEqual(Column.Parameter(node.Values["Column"])) .And("LookupSchemaDisplayColumnValue").IsEqual(Column.Parameter(node.Values["FileName"])) .And().Exists( new Select(UserConnection) .Column("Id") .From("Contact") .Where("Contact", "Id").IsEqual("DestinationRecordId")) .And().Not().Exists( new Select(UserConnection) .Column("ContactId") .From("Employee") .Where("Employee", "ContactId").IsEqual("DestinationRecordId")) as Select;
У Вас структура аналогична, только Or вместо And.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать