Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158

Сложный запрос

27.10.2012, 23:16. Показов 2212. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть таблица содержащая столбцы (Номер,Сотрудник,Сумма,Вид операции,Дата) нужен запрос по годам с подведением итогов для каждого сотрудника по полям "Сумма" и "Гонорар".

Гонорар=покупка(10%)+продажа(12%)

я пробовал но не как не могу вывести гонорар, SQL не поддерживает же переменные а в запрос нужно уравнение вставить
вот что у меня получилось пока
SQL
1
SELECT "Сумма = ",SUM(summ), " гонорар = " FROM sotrud WHERE sotr = "Зотова" AND DATA LIKE '1998%'
Добавлено через 2 минуты
вот пример значений таблицы
Haskell
1
2
1   Петров    10 000  покупка  11.02.98
2   Иванов    20 000  продажа  1.02.99
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2012, 23:16
Ответы с готовыми решениями:

Сложный запрос
Есть такая структура данных необходимо сделать выборку которая будет содержать id литератури и количество которое не списано пробовал...

Сложный запрос
Всем добрый день. К примеру имеется таблица 'оплата', которая имеет поля 'код ученика' и 'код месяца'. 'Код ученика' и 'код месяца' это...

Сложный запрос в БД
доброго времени всем.. есть некоторые трудности при построении запроса в бд подробнее о проблеме: есть 2 таблицы (записи и категории)...

11
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
28.10.2012, 01:09
Тут, наверно, CASE сгодится. Пишу без проверки, на память

MySQL
1
2
3
4
5
6
7
SELECT
  SUM("Сумма"),
  CASE "ВидОперации"
    WHEN "покупка" THEN SUM("Сумма" * 0,10)
    WHEN "продажа" THEN SUM("Сумма" * 0,12)
  END AS "Гонорар"
FROM sotrud WHERE sotr = "Зотова" AND DATA LIKE '1998%'
0
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158
28.10.2012, 10:27  [ТС]
не запустился
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
28.10.2012, 15:35
видимо, об ошибке я догадаться должен?! приводите ее что ли
0
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158
28.10.2012, 18:08  [ТС]
вот ошибка
SQL
1
#1064 - You have an error IN your SQL syntax; CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near '10) WHEN "продажа" THEN SUM("Сумма" * 0,12) END AS "Гоно' at line 4
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
28.10.2012, 18:24
Дробные числа пишутся с точкой: 0.12
0
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158
29.10.2012, 20:22  [ТС]
запустился но везде 0 и null хотя все значения под таблицу вбил

Добавлено через 7 минут
SQL
1
2
3
4
5
6
7
8
SELECT
SELECT
  SUM(summ),
  CASE vet_oper
    WHEN "покупка" THEN SUM(summ * 0.10)
    WHEN "продажа" THEN SUM(summ* 0.12)
  END AS "Гонорар"
FROM sotrud WHERE sotr = "Петров" AND DATA LIKE '1998%'
всё спасибо запустилось а в каком шагу складываются результаты выборки?
Гонорар=покупка(10%)+продажа(12%)

Добавлено через 1 минуту
да и поля суммы и гонорара одинаковые

Добавлено через 22 часа 37 минут
вверх
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
30.10.2012, 00:35
С запятой косяк.... в русской раскладе писал и даже не заметил.

Что-то я ее не понял ваш ответ. Проблем решена или осталась?
Если выводит все NULL, значит в условии WHERE что-то неверно.
Приводите "describe <table_name>" и кусочек выборки, чтобы было понятно.
0
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158
30.10.2012, 22:48  [ТС]
не решена в сумме и гонораре один и тот же ответ + не понимаю где результаты кейса складываются
0
 Аватар для Vermut
9 / 9 / 0
Регистрация: 05.11.2012
Сообщений: 32
06.11.2012, 00:42
MySQL
1
2
3
4
5
6
7
8
9
SELECT
  SUM(summ),
  SUM(
    CASE vet_oper
        WHEN "покупка" THEN summ * 0.10
        WHEN "продажа" THEN summ* 0.12
    END
  ) AS "Гонорар"
FROM sotrud WHERE sotr = "Петров" AND DATA LIKE '1998%'
0
2 / 2 / 3
Регистрация: 01.02.2011
Сообщений: 158
10.11.2012, 13:43  [ТС]
гонорар и сумма равны, а гонорар % от суммы
0
 Аватар для Vermut
9 / 9 / 0
Регистрация: 05.11.2012
Сообщений: 32
10.11.2012, 14:27
Shaitan63rus приведи DDL создания таблицы, список инсертов заполняющих таблицу тестовыми данными, четко сформулируй ещё раз что тебе нужно выбрать и приведи пример выборки которая должная получиться при определенных параметрах(год, ФИО, и.т.д.). И тогда тебе помогут, сейчас боюсь тебя никто не понимает что тебе нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2012, 14:27
Помогаю со студенческими работами здесь

Сложный запрос
Доброго времени суток! Подскажите куда копать... очень сложно сходу в такое вникнуть, а надо. CREATE TABLE `quests` ( `uid`...

Сложный запрос
Добрыйь день. Есть база с таблицами: Команды, Игроки, Матчи и информация по голам, во вложении скрины. Так вот. Написал запрос...

Запрос сложный
Доброго времени суток, форумчани! Я зациклился в одном запросе. Не поможете :) Нужно: выбрать отдел, в которой больше 15%...

Сложный запрос (IN)
было все просто и понятно $count = $db-&gt;select('SELECT COUNT(*) FROM {pref}c_content WHERE category IN ('.implode(',', $arr_cat).') AND...

Сложный необычный запрос
Добрый день. Есть 2 таблицы. Певая &quot;client&quot; с полями &quot;id&quot; &quot;cid&quot; &quot;pid&quot; &quot;val&quot; и множественными записями типа 1 5 1 Петя 2 5 2 Петров...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru