Цитата:
Сообщение от
Raduga
я, честно говоря, не представляю, как можно и на SQL составить запрос, где на LedgerJournalTrans.BudgetDimId будет наложено такое условие.
если хранить условие (именно хранить, вводить можете как вам угодно) не в виде произвольной строки, а в виде пары тип rangeType/rangeValue, то запрос можно написать следующим образом
X++:
select LedgerJournalTrans
exists join BankAccountTable
where
BankAccountTable.AccountId == LedgerJournalTrans.OffsetAccount &&
(
(BankAccountTable.rangeType == rangeType::Great && LedgerJournalTrans.BudgetDimId > BankAccountTable.rangeValue) ||
(BankAccountTable.rangeType == rangeType::Less && LedgerJournalTrans.BudgetDimId < BankAccountTable.rangeValue) ||
(BankAccountTable.rangeType == rangeType::Equal && LedgerJournalTrans.BudgetDimId == BankAccountTable.rangeValue) ||
...
)
А вас точно не устраивает вариант разбиения одного запроса на два вложенных?