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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2003, 15:37   #1  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Использование агрегирующих ф-ий в select'е
Пересмотрел процентов 50 всего, что вернул поиск по слову [select]... Почему-то стал чувствовать себя хуже... Ну да ладно, собственно вопрос:
Насколько я понял, агрегирующие функции (скажем, count) используются так:
PHP код:
select count(FieldNamefrom tableVar where ... 
и результат потом можно получить как tableVar.FieldName.
Возникает вопрос - вернуться должно значение числовое, а переменная имеет тип, например, строковый. Или перечислимый. Или, что еще хуже, container. Естественно компилятор ругается.
Так все работает нормально:
PHP код:
    Technicians t;
    
select count(FirstNamefrom t where t.FirstName like 'A*';
    print 
t.FirstName
А вот так возникают проблемы:
PHP код:
print t.FirstName 0
Может, знающие люди подскажут, как получить результат count'а в виде числа? В случае строкового поля я могу использовать str2int, а что делать с date, time, enum, container?
Как такое вообще придумать можно было?!
Старый 02.07.2003, 16:18   #2  
Gadget is offline
Gadget
Участник
 
16 / 22 (1) +++
Регистрация: 20.02.2003
Адрес: Москва
PHP код:
    select count(RecIdfrom t where t.FirstName like 'A*';
    print 
t.RecId
Старый 03.07.2003, 05:29   #3  
Антон Солдатов is offline
Антон Солдатов
Соучастник
Аватар для Антон Солдатов
 
386 / 27 (1) +++
Регистрация: 29.12.2002
Адрес: Новосибирск
Re: Использование агрегирующих ф-ий в select'е
Цитата:
Изначально опубликовано Andronov
Может, знающие люди подскажут, как получить результат count'а в виде числа? В случае строкового поля я могу использовать str2int, а что делать с date, time, enum, container?
Как такое вообще придумать можно было?!
есть еще такой вариант:
http://www.axforum.info/forums/showt...1380#post11380
Но в Вашем случае, конечно, лучше воспользоваться советом Gadget-a
Старый 03.07.2003, 08:15   #4  
edd is offline
edd
Участник
 
81 / 10 (1) +
Регистрация: 20.01.2003
А как использовать выражения в select?

Например что то в таком роде:

select a
join b
where b.f - a.f == 0

Куда делась мощь SQL? Есть ли HAVING?
Где вложенные селекты?
Старый 03.07.2003, 10:44   #5  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Gadget, Антон, спасибо.
Про Connection я знал, но при этом велик соблазн совсем отказаться от встроенного select'а.
А как смоделировать такую штуку:
PHP код:
select count(distinct fldNamefrom tabName 
Старый 03.07.2003, 11:09   #6  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
PHP код:
MyTable   myTable1myTable2;
;

select count(RecIdfrom myTable1
notexists join myTable2
   where myTable2
.fldName == myTable1.fldName
          
&& myTable2.RecId myTable1.RecId
Тормоза обеспечены
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
2 while select или join? _scorp_ DAX: Программирование 9 23.01.2009 16:02
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
gatesasbait: Reverse keyword on Select Statements Blog bot DAX Blogs 0 08.02.2008 00:10
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43
Использование агрегирующих ф-ий в select'е Andronov DAX: Программирование 1 02.07.2003 17:16

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

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

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