17.11.2005, 14:08 | #1 |
Участник
|
Что-то не могу запрос сконструировать...
Задача.
Нужно вывести в отчет простецкую табличку: Колонка 1 - инвентарный номер Колонка 2 - номер счета Колонка 3 - сумма для данного инвентарного номера и данного счета. Интересует общий вид запроса без мелочей. Рисую нижеследующую конструкцию (общий вид, без подробностей) - не получается. SELECT InventTrans GROUP BY ItemId JOIN SUM(AmountMST) FROM LedgerTrans GROUP BY AccountNum WHERE {связка этих двух таблиц}. Какая конструкция запроса поможет решить проблему? |
|
17.11.2005, 15:16 | #2 |
----------------
|
Слишком некорректная формулировка вопроса, чтобы кто-то дал четкий ответ.
"номер счета" - это номер счета ГК? Вы уверены, что на 1 складскую проводку генерится 1 проводка в ГК? |
|
17.11.2005, 15:25 | #3 |
Участник
|
chi
Разберитесь c таблицей InventTransPosting. |
|
17.11.2005, 15:39 | #4 |
Участник
|
Цитата:
Сообщение от Wamr
Вы уверены, что на 1 складскую проводку генерится 1 проводка в ГК?
Давайте просто абстрогируемся от функционала. Интересует чисто техническая сторона. Результатом выполнения запроса является перемножение таблиц (по-моему это так называется), хотя вроде не должно. |
|
17.11.2005, 15:49 | #5 |
Участник
|
Возможно просто ничего не выбираете (в смысле, все поля) из первой таблички - а там группировка. Поэтому ругается что нет агрегатных функций, или что-то в таком роде
Попробуйте тоже или sum() или max() туда влепить |
|
17.11.2005, 16:07 | #6 |
----------------
|
Возьмите 1 накладную с несколькими строчками, посмотрите по ней проводки ГК и складские и попробуйте их сопоставить ручками.
|
|
17.11.2005, 16:10 | #7 |
Участник
|
Скорее всего в WHERE что-то неправильно.
Поля из группировки автоматом подставляются в запрос. Кроме того даже если их не указывать в запросе в предложении select, то запрос будет выполнен правильно - но узнать какая сумма куда относится мы, понятное дело, не сможем.
__________________
Axapta v.3.0 sp5 kr2 |
|
18.11.2005, 09:36 | #8 |
Участник
|
SELECT InventTrans GROUP BY ItemId
JOIN SUM(AmountMST) FROM LedgerTrans GROUP BY AccountNum WHERE {связка этих двух таблиц}. ну во первых, интересно посмотреть на весь запрос а во вторых, то что сразу бросается в глаза Вы группируете InventTrans по ItemId, т.о. связка должна быть с LedgerTrans именно по ItemId. Возможно в Вашей модификации в LedgerTrans и находится ItemId, но скорее всего нет. |
|
18.11.2005, 10:12 | #9 |
Moderator
|
2mit:
Нет, в случае такой группировки связка по ItemId совсем не обязательна - это классика. Вот даже пример приведу, хотя он и не нужен: PHP код:
__________________
Андрей. Последний раз редактировалось Dron AKA andy; 18.11.2005 в 11:26. |
|
18.11.2005, 11:55 | #10 |
Участник
|
Да, действительно.
Был неправ. |
|