Технические вопросы
5.x

синтаксис для sql запроса с условиями EXIST, NOT EXIST

Добрый день коллеги! Подскажите пожалуйста, как правильно переложить данную 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]     
        )
 )

Спасибо!

Нравится

2 комментария

Влад, вот пример запроса с Exists и Not Exists:
[csharp]
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;

[/csharp]
У Вас структура аналогична, только Or вместо And.

Большое спасибо!:twisted:

Показать все комментарии