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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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