AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.03.2004, 11:07   #1  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
Можно ли в аксапте реализовать такой SQL запрос:
select Sum(a1.Quant + a2.Quant) from a1, a2 where a1.id = a2.a1_id
Желательно без циклов
Старый 17.03.2004, 11:42   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
PHP код:
select sum(Quantfrom a1
    join sum
(Quantfrom a2
    where a1
.id == a2.a1_id;
    
ret a1.Quant a2.Quant
По моему, так.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 17.03.2004, 17:18   #3  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
1) А вернет ли такой запрос итоговую сумму всех строк a1.id = a2.a1_id или по каждой соеденению будет сумма?
2) Можно ли сделать запрос из запроса, типа Select quant from (Select quant from a1)
Старый 17.03.2004, 17:50   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
1) Запрос здесь один. Он возвращает sum(a1.Quant) и sum(a2.Quant). Потом эти суммы складываются.
2) Нет, нельзя.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 17.03.2004, 18:03   #5  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
Большое спасибо
Старый 18.03.2004, 11:50   #6  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
Немног не подходит, мне вообще надо
select Sum(a1.Quant + a2.Price) from a1, a2 where a1.id = a2.a1_id
а не
select Sum(a1.Quant) + Sum(a2.Price) from a1, a2 where a1.id = a2.a1_id

Можно ли средставми аксапты сделать представление, такого вида или м.б. все-таки запрос. Уж очень не хотелось в цикле...
Старый 18.03.2004, 11:57   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
select Sum(a1.Quant + a2.Price) from a1, a2 where a1.id = a2.a1_id
а не
select Sum(a1.Quant) + Sum(a2.Price) from a1, a2 where a1.id = a2.a1_id
А от перестановки мест слагаемых сумма меняется?
Старый 18.03.2004, 12:56   #8  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
Извиняюсь, конечно умножить
select Sum(a1.Quant * a2.Price) from a1, a2 where a1.id = a2.a1_id
а не
select Sum(a1.Quant) * Sum(a2.Price) from a1, a2 where a1.id = a2.a1_id
Старый 18.03.2004, 13:37   #9  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
А можно не мучися и написать запрос на чистом SQL, используя класс UserConnection и сопутствующие ему классы (АОТ/System documentation/Classes), при этом не забыв указать нужную компанию
Старый 18.03.2004, 13:47   #10  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано sergy
А можно не мучися и написать запрос на чистом SQL, используя класс UserConnection и сопутствующие ему классы (АОТ/System documentation/Classes), при этом не забыв указать нужную компанию
овчинка выделки не стоит. не рекоммендую так поступать.
Старый 18.03.2004, 14:00   #11  
sergy is offline
sergy
Участник
 
62 / 10 (1) +
Регистрация: 12.02.2004
Адрес: Воронеж
А я так не думаю, порой очень удобно
Старый 18.03.2004, 14:18   #12  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
А если сделать представление в Акапте:
select a1.Quant, a2.Price from a1, a2 where a1.id = a2.a1_id
а потом в запросе обращаться к представлению
select Sum(Quant * Price) from Views
Пройдет?
Старый 18.03.2004, 14:21   #13  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Цитата:
Изначально опубликовано sergy
А я так не думаю, порой очень удобно
А вы подумайте. Заодно расскажите, пожалуйста, про ту "пору, когда удобно", поподробнее, если не затруднит. Вы не задумывались о том, зачем в системе созданы все эти "обертки" для запросов?
UserConnection уместен, но уж точно не в описанной выше ситуации.
Старый 18.03.2004, 16:00   #14  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано Sergey_1972
Пройдет?
Нет. В аггрегатной функции параметром принципиально может быть только одно поле (а не выражение). Боюсь, что в Вашем случае без цикла не обойтись.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 18.03.2004, 16:33   #15  
Sergey_1972 is offline
Sergey_1972
Участник
 
7 / 10 (1) +
Регистрация: 17.03.2004
Еще раз спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
SQL-запрос с участием временной таблицы Atani DAX: Программирование 1 07.10.2003 19:55
можно ли вообще использовать нормальный SQL? puz DAX: Программирование 5 09.09.2003 11:40
можно ли сделать с помощью join следующий запрос: SergAY DAX: Программирование 1 29.07.2003 11:39
SQL в Аксапте SergS DAX: База знаний и проекты 7 19.07.2002 11:51
Собственный SQL запрос в FormDataSource Alexey DAX: База знаний и проекты 0 20.12.2001 00:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:01.