Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2017, 22:29   #1
Arya Stark
 
Регистрация: 07.11.2017
Сообщений: 9
Вопрос Запрос для вычисляемого поля SQL

Добрый вечер!
Помогите, пожалуйста, понять как строить правильно запрос.
Есть табличка (на рисунке), последний столбец Суммы. В конце столбца нужно поле Общей суммы.
Затем создать еще один столбец рядом с формулой ( "каждую строчку с суммой/ на общую сумму" )* 100%.
И вывести на экран только те строки, где значения:
- больше 80%
-до 15%
- 5%

Как я поняла, получается нужно делать три запроса?
Помогите, пожалуйста, уже третий день думаю,как это сделать.
Может быть всё намного проще?
Изображения
Тип файла: jpg запрос.jpg (68.7 Кб, 132 просмотров)
Arya Stark вне форума Ответить с цитированием
Старый 28.11.2017, 23:50   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Как я поняла, получается нужно делать три запроса
Три в одном))
Код:
SELECT U.*
  FROM (SELECT T.*,T.SummaSale*1.0/T1.SummAll*100.0 as pct 
          FROM Salling T,(SELECT SUM(SummaSale) AS SummAll FROM Salling) T1) U
  WHERE U.pct>80 or U.pct<15
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 28.11.2017 в 23:57.
Аватар вне форума Ответить с цитированием
Старый 29.11.2017, 19:37   #3
Arya Stark
 
Регистрация: 07.11.2017
Сообщений: 9
По умолчанию

Спасибо, большое! Вы - мой спаситель)
Правда, я тот еще чайничек. Можно узнать,что это за параметры такие

SELECT U.*
FROM (SELECT T.*,T.SummaSale*1.0/T1.SummAll*100.0 as pct
FROM Salling T,(SELECT SUM(SummaSale) AS SummAll FROM Salling) T1) U
WHERE U.pct>80 or U.pct<15

U - сокращенное название столбца?
Т1 - таблица 1?
Arya Stark вне форума Ответить с цитированием
Старый 29.11.2017, 19:40   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Arya Stark Посмотреть сообщение
U - сокращенное название столбца?
Т1 - таблица 1?
Это, так называемые, псевдонимы.
Streletz вне форума Ответить с цитированием
Старый 29.11.2017, 19:46   #5
Arya Stark
 
Регистрация: 07.11.2017
Сообщений: 9
По умолчанию

Как они работают?
К примеру, столбец с Суммой я называю U, а таблицу Salling Т1?
Arya Stark вне форума Ответить с цитированием
Старый 29.11.2017, 20:41   #6
Arya Stark
 
Регистрация: 07.11.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Это, так называемые, псевдонимы.
Спасибо, отличный сайт с пояснениями
Arya Stark вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
установка условий для вычисляемого поля в ACCESS 2003 swetlang Microsoft Office Access 4 21.10.2013 10:03
Условие для вычисляемого поля в форме Malina33 Microsoft Office Access 2 13.04.2012 11:46
Создание вычисляемого поля SQl Delphi detalik Помощь студентам 8 25.04.2011 14:48
SQL-запрос с вычислением поля lyle_200490 SQL, базы данных 3 03.04.2011 15:59
SQL-запрос с вычислением поля lyle_200490 БД в Delphi 1 03.04.2011 13:41