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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2006, 19:47   #17  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от glibs Посмотреть сообщение
Хм... по-моему, в T-SQL при работе с курсором конструкция примерно такая же. Вы объявляете некий запрос в качестве курсора (он может содержать и агрегатные функции), а потом перебираете его строки. При этом вы тоже не работаете с конкретной записью.
Нуу, речь, скорее, идет не о том, что "не с конкретной записью", а о сомнительной наглядности синтаксисе конструкции... Авторы самого X++ уж больно всё лаконично попытались описать. И эта лаконичность, увы, часто не льет воду не мельницу понимания, а скорее наоборот выходит некоторым боком (во завернул!)

Вот, не мудрствуя, скопировал из хелпа по T-SQL кусочек примера с курсором:
Код:
DECLARE @au_id varchar(11), @au_fname varchar(20), @au_lname varchar(40)
 
DECLARE authors_cursor CURSOR FOR 
SELECT au_id, au_fname, au_lname
FROM authors
WHERE state = "UT"
ORDER BY au_id
 
OPEN authors_cursor
 
FETCH NEXT FROM authors_cursor 
INTO @au_id, @au_fname, @au_lname
если читать это как бы на естественном языке, то получается примерно следующее:
Код:
ОБЪЯВЛЯЕМ наши_переменные
 
ОБЪЯВЛЯЕМ наш_курсор КАК КУРСОР ДЛЯ
SELECT... (причем SELECT - на нормальном SQL!)
 
ОТКРЫВАЕМ наш_курсор
 
СЧИТЫВАЕМ ОЧЕРЕДНУЮ (запись) ИЗ наш_курсор
В наши_переменные
Акцентирую внимание на последнем: СЧИТЫВАЕМ запись ИЗ наш_курсор В наши_переменные. ИЗ - В, ИЗ - В.

А здесь что? select sum(amount) from payTrans - ВЫБИРАЕМ СУММУ(amount) ИЗ... ВЫБИРАЕМ - ИЗ, ВЫБИРАЕМ - ИЗ. Ну, ИЗ-то выбираем, а ВО ЧТО выбираем-то? Вот и возникают непонятки. По-моему, вполне обоснованные.

У меня знакомство с подобного рода "проблемой" началось со встречи с примерно таким фрагментом:

select count(RecId) from RAssetTable

Уже к тому времени зная ответственно-почётную миссию идентификатора RecId во всей системе, мозг упорно отказывался понимать, что в этом фрагменте RecId является как бы не "самим собой", а содержит всего-навсего количество записей в конкретной таблице. Согласитесь, для "неокрепшего мозга", это немного башне-сносящая откровенность. "Мы понимаем, что мы чего-то не понимаем..."
Теги
amount, запрос (query), как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
SUM по Amount в Query. С динамическими фильтрами по Grid Poleax DAX: Программирование 8 25.09.2008 16:04
Разница NotInTTS и Found Logger DAX: База знаний и проекты 6 18.09.2008 12:35
Отчет "Запасы в наличии" evb DAX: Программирование 19 17.01.2008 07:37
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43
select sum(amount) from временная таблица ATimTim DAX: Программирование 6 11.06.2004 14:16

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

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

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