|
|
#1 |
|
Постигающий
|
Доброго времени суток..
есть у меня запрос подобный следущему X++: while select VendTrans where VendTrans.TransDate <= toDate && VendTrans.TransDate >= fromDate notexists join PaymentRequestLine where PaymentRequestLine.Voucher == VendTrans.Voucher join PaymentRequest where PaymentRequestLine.Code == PaymentRequest.Code && PaymentRequest.Status == "некий статус" X++: while select VendTrans where VendTrans.TransDate <= toDate && VendTrans.TransDate >= fromDate join RContractTable where RContractTable.RContractCode == VendTrans.RContractCode && RContractTable.CurOtdel == "0033"
|
|
|
|
|
#2 |
|
Участник
|
а так не получается?
X++: while select VendTrans where VendTrans.TransDate <= toDate && VendTrans.TransDate >= fromDate join RContractTable where RContractTable.RContractCode == VendTrans.RContractCode && RContractTable.CurOtdel == "0033" notexists join PaymentRequestLine where PaymentRequestLine.Voucher == VendTrans.Voucher join PaymentRequest where PaymentRequestLine.Code == PaymentRequest.Code && PaymentRequest.Status == "некий статус" |
|
|
|
| За это сообщение автора поблагодарили: Андрей К. (1). | |
|
|
#3 |
|
Member
|
Попробуйте для начала notexists join опустить вниз.
__________________
С уважением, glibs® |
|
|
|
|
#4 |
|
Участник
|
Если первый кусок кода работает, то при опущении нотэкзиста он может начать работать по другому (последний иннерджоин вылезет из скобок
|
|
|
|
|
#5 |
|
Постигающий
|
Belugin, совершенно верно..В первом запросе иннер джойн относится к нотекзист джойну. Остается опробовать ваш вариант.
|
|
|
|
|
#6 |
|
Постигающий
|
Цитата:
Сообщение от belugin
а так не получается?
X++: while select VendTrans where VendTrans.TransDate <= toDate && VendTrans.TransDate >= fromDate join RContractTable where RContractTable.RContractCode == VendTrans.RContractCode && RContractTable.CurOtdel == "0033" notexists join PaymentRequestLine where PaymentRequestLine.Voucher == VendTrans.Voucher join PaymentRequest where PaymentRequestLine.Code == PaymentRequest.Code && PaymentRequest.Status == "некий статус" |
|
|
|
|
#7 |
|
Участник
|
Запрос составлен, а дальше открываем план исполнения и вперед на оптимизацию плана!
__________________
Дайте мне точку опоры, и я переверну земной шар (Архимед) |
|
|
|
|
#8 |
|
Программатор
|
Можно явно указать какие поля Вы хотите выбрать из таблиц. Это увеличит производительность. Попробовать с индекс хинтами.
Последний раз редактировалось Sada; 19.09.2007 в 17:23. |
|
|