Показать сообщение отдельно
Старый 21.05.2007, 10:30   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Logger Посмотреть сообщение
Встретил такой код в
\Data Dictionary\Maps\CustVendInvoiceJour\Methods\factureJourSortedList_RU

Из таблиц factureTrans, markupTrans, custVendInvoiceTrans выбирается поле recId но нигде не используется. Можно было бы просто написать
join TableId from factureTrans
join TableId from markupTrans
join TableId from custVendInvoiceTrans
Запрос должен получиться легче. У кого какие мысли ?
В Аксапте все немного не так, как в обычном SQL Если просто написать, скажем, такое
X++:
select      firstonly markupTrans
    join    markupTable
    where   markupTable.markupCode == markupTrans.markupCode;
то будут выбираться все поля как из MarkupTrans, так и из MarkupTable. Поэтому запрос вида
X++:
select      firstonly  markupTrans
    join    recId from markupTable
    where   markupTable.markupCode == markupTrans.markupCode;
будет "легче" с той точки зрения, что из MarkupTable будет явно выбираться только поле recId (которое и так выбирается, если в запросе нет агрегирующих фукнций), а не все поля подряд.
Цитата:
Сообщение от Logger Посмотреть сообщение
Вот хочу понять это просто недочет разработчиков или специально так написано и select TableID нельзя было писать.
Можно было написать и select tableId, и даже select dataAreaId - разницы не будет никакой


Последний раз редактировалось gl00mie; 21.05.2007 в 10:34.