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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.04.2011, 09:44   #1  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
условие с датой в Query
Добрый день,помогите начинающему,
хочу поставить условие в Query
на примере sql-а

X++:
select sum(FlxNumPassengersArrival)
        from  flxPortJournal_1
        group by  flxPortJournal_1.ShipsName
        where
             flxPortJournal_1.ArrivalDate >= Fromdate and
             flxPortJournal_1.ArrivalDate <= Todate 
union
        select  sum(FlxNumPassengersDeparture)
        from  flxPortJournal_1
        group by  flxPortJournal_1.ShipsName
        where
             flxPortJournal_1.DepartureDate >= Fromdate and
             flxPortJournal_1.DepartureDate <= Todate
в query

X++:
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalArrival),SelectionField::Sum);
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalDeparture),SelectionField::Sum);
условие, не уверен в правильности

X++:
  sysQuery::findOrCreateRange(qbds, fieldnum(FlxPortJournal,ArrivalDate))
           .value(strfmt("%2"));
работает правильно только по DepartureDate
Старый 07.04.2011, 09:58   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Раз тему вы назвали "условие с датой в Query", то отвечу непосредственно про это.

Период в qbds
За это сообщение автора поблагодарили: Poleax (1).
Старый 07.04.2011, 10:17   #3  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от romanja Посмотреть сообщение
Добрый день,помогите начинающему,
хочу поставить условие в Query
на примере sql-а

PHP код:
select sum(FlxNumPassengersArrival)
        
from  flxPortJournal_1
        group by  flxPortJournal_1
.ShipsName
        where
             flxPortJournal_1
.ArrivalDate >= Fromdate and
             
flxPortJournal_1.ArrivalDate <= Todate 
union
        select  sum
(FlxNumPassengersDeparture)
        
from  flxPortJournal_1
        group by  flxPortJournal_1
.ShipsName
        where
             flxPortJournal_1
.DepartureDate >= Fromdate and
             
flxPortJournal_1.DepartureDate <= Todate 
в query

X++:
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalArrival),SelectionField::Sum);
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalDeparture),SelectionField::Sum);

условие, не уверен в правильности

sysQuery::findOrCreateRange(qbds, fieldnum(FlxPortJournal,ArrivalDate))
.value(strfmt("%2"));

работает правильно только по DepartureDate
Если используете в одном запросе:
X++:
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalArrival),SelectionField::Sum);
  qbds.addSelectionField(fieldNum(FlxPortJournal,FlxNumPassengersTotalDeparture),SelectionField::Sum);
ваш запрос SQL станет
PHP код:
select sum(FlxNumPassengersArrival) as [FlxNumPassengersArrival], 
       
sum(FlxNumPassengersDeparture) as [FlxNumPassengersDeparture]
from flxPortJournal_1
where
    flxPortJournal_1
.ArrivalDate >= Fromdate and
    
flxPortJournal_1.ArrivalDate <= Todate 
group by flxPortJournal_1
.ShipsName 
т.е. это значения не в одном столбце будут, как при UNION
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
Старый 07.04.2011, 10:23   #4  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
значит в X++
надо делать второй запрос.
Старый 07.04.2011, 10:25   #5  
romanja is offline
romanja
Участник
 
30 / 10 (1) +
Регистрация: 06.01.2011
и попробовать соединить 2 запроса
query = new Query();
query.queryType(QueryType::Union); ?
Старый 07.04.2011, 10:25   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
В версии Ax2009 появилась возможность делать union
http://msdn.microsoft.com/en-us/library/cc605991.aspx
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Dynamics AX &ndash; Query-Ranges und Filtereinstellungen des Benutzers Blog bot DAX auf Deutsch 0 04.02.2010 00:05
Расширенные возможности Query - арифметические операции в условие Where. Lemming DAX: Программирование 10 07.02.2008 14:38
Как прикрутить в query условие vale15 DAX: Программирование 1 11.09.2007 11:00
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Условие where в синтаксисе Query sev DAX: Программирование 25 04.08.2005 08:48

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:05.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.