|
23.04.2015, 22:36 | #1 |
Участник
|
как правильно строить запросы в аксе.
Здравствуйте. Подскажите как правильнее делать, насколько я понял sql запрос создавать в аксапте крайне нежелательно. Запросы можно создавать через Queries или прям в тексте в коде while select... и погнали. Как правильнее? Или как самому удобнее так и делать? И про "a left join b on ..." уже тоже начитался и все же: реализуется он только следующим запросом к таблице b через передачу в Range (в where ) параметров из значений а?
|
|
24.04.2015, 05:12 | #2 |
NavAx
|
Queries гибче, while select легче читать и проще писать. Поэтому когда можешь, пользуешь x++ select, а когда надо queries.
Это ты очень важную и правильную вещь понял. Чтобы легче обучение шло, рекомендую сразу принять мысть что x++ select гораздо ближе к link запросам, чем к sql. Иначе говоря, он лишь внешне напоминает обычный sql.
__________________
Isn't it nice when things just work? |
|
24.04.2015, 07:41 | #3 |
Участник
|
Добавлю ещё, что без Query не обойтись если есть завязка на интерфейс. И в смысле вывода результата выборки (x++ select не привяжешь к датасорсу) и в смысле стандартной возможности изменения запроса через пользовательский интерфейс.
|
|
24.04.2015, 07:50 | #4 |
Участник
|
Цитата:
Браузер таблиц намекает на обратное)) С ограничениями, конечно, но тем не менее
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
24.04.2015, 07:54 | #5 |
Участник
|
Цитата:
outer join в Аксапте не подходит?
__________________
Axapta v.3.0 sp5 kr2 |
|
24.04.2015, 09:00 | #6 |
Участник
|
|
|
24.04.2015, 09:29 | #7 |
Участник
|
Цитата:
Но вы бы привели пример запроса, может, другими средствами это решить можно)
__________________
Axapta v.3.0 sp5 kr2 |
|
24.04.2015, 09:54 | #8 |
Участник
|
Цитата:
Не могу сейчас найти вопрос форума, который меня сбил на заморочки, что LEFT join не заменяется outer join-ом, может там какая-то особая ситуация, к сожалению не отыщу теперь. |
|
24.04.2015, 12:28 | #9 |
Участник
|
все равно нужна помощь к сожалению.
while select Apole from a outer join Bpole from B where B.RelationPole == A.RelationPole join CPole from C where C.RelationQQQ == A.RelationQQQ && C.RelationTTT== isnull (B.RelationTTT , 0 ) Как в данном случае sql-кий isnull заменить ? |
|
24.04.2015, 08:39 | #10 |
MCTS
|
Используйте Query, а чтобы не потеряться для анализа используйте QueryBrowser
|
|
|
За это сообщение автора поблагодарили: A_BAS (1). |
24.04.2015, 08:52 | #11 |
NavAx
|
Удобный инструмент. Только это AOT Query. С Query геренируемыми из кода несколько сложнее и гораздо менее наглядно.
__________________
Isn't it nice when things just work? Последний раз редактировалось macklakov; 24.04.2015 в 08:56. |
|