Текущее время: Вс, июл 20 2025, 05:55

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 07:47 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 14 2013, 10:12
Сообщения: 50
Добрый день!
Подскажите, можно ли в ABAP с помощью запроса SELECT сразу получить сумму по интересующему столбцу?

SELECT * FROM ANLP
WHERE BUKRS = '0202'
AND ANLN1 = 972000000135.

Нужно просуммировать столбец NAFAZ

_________________
А ведь все так хорошо начиналось...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 10:17 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Code:
SELECT sum( NAFAZ ) FROM ANLP
WHERE BUKRS = '0202'
AND ANLN1 = 972000000135.


Однако, стиль программирования с хард-кодом констант в Select'e, имхо, моветон.

ЗЫ: воспользуюсь темой для допвопроса.

Допустим, кроме sum(NAFAZ) надо выбрать единичные значения (ANLN1, ANLN2, например). Вроде бы, где-то видел, что это можно сделать в том же Select'e, однако на просторах интернета такого примера так и не нашел :oops:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 10:23 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Paul_80, ты имеешь ввиду что-то типа такого?
Code:
DATA:
  lt_data TYPE TABLE OF anlp.

SELECT anln1 SUM( nafaz )
  INTO TABLE lt_data
  FROM anlp
  WHERE bukrs = '0202'     AND
        anln1 = '972000000135'
  GROUP BY anln1.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 11:19 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
Code:
DATA:
  lt_data TYPE TABLE OF anlp.

SELECT anln1  SUM( nafaz ) as nafaz
  INTO corresponding fields of TABLE lt_data
  FROM anlp
  WHERE bukrs = '0202'     AND
        anln1 = '972000000135'
  GROUP BY anln1.

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 11:58 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, май 14 2013, 10:12
Сообщения: 50
Silence1 написала:
Code:
DATA:
  lt_data TYPE TABLE OF anlp.

SELECT anln1  SUM( nafaz ) as nafaz
  INTO corresponding fields of TABLE lt_data
  FROM anlp
  WHERE bukrs = '0202'     AND
        anln1 = '972000000135'
  GROUP BY anln1.


Спасибо, это то что нужно!

_________________
А ведь все так хорошо начиналось...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 12:08 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
nickstarnew, обратите внимание на тр. abapdocu - для вас она будет архиполезна

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 17:51 
Ассистент
Ассистент

Зарегистрирован:
Ср, янв 18 2012, 07:36
Сообщения: 41
Откуда: Югорск
Пол: Мужской
WHERE bukrs = '0202' AND
anln1 = '972000000135'
GROUP BY anln1.

помоему, group by в данном случае - лишее?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 18:02 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Без GROUP BY не понятно какое именно знечение anln1 выдавать. Их же в таблице может быть несколько.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Чт, окт 31 2013, 22:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
weise написал(а):
Без GROUP BY не понятно какое именно знечение anln1 выдавать. Их же в таблице может быть несколько.

anln1 = '972000000135'
:)

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Пт, ноя 01 2013, 08:44 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
а вы попробуйте написать без group by :D

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно ли получить сумму в запросе SELECT
СообщениеДобавлено: Пт, ноя 01 2013, 10:29 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Я имел ввиду общий случай :wink: Там же может стоять <>, >, etc. Или другое поле выбираться.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB