powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите чайнику
8 сообщений из 8, страница 1 из 1
Подскажите чайнику
    #38344992
JsssK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добый день!

Прошу помощи у опытных коллег.

Есть таблица `показатели` в MySQL с полями: филиал | показатель | год | значение

Пример содержания:
Московский филиал | Прибыль | 2012 | 5000
Московский филиал | Прибыль | 2011 | 1000
Московский филиал | Штатная численность | 2012 | 35
Самарский филиал | Директор | 2011 | Пупкин В.П.
Киевский филиал | Прибыль | 2012 | 3000
итд

Нужно получить выписку определенных расчетных значений по всем филиалам, вида:
1 | Московский филиал | 5.00
2 | Самарский филиал | 0.75
3 | Киевский филиал | 1.20

Где в последнем столбце расчетное значение, равное отношению прибыли за 2012 год к прибыли за 2011 год.

Задача решается в несколько запросов (псевдоязык):
1. SELECT DISTINCT `филиал` as fil FROM `показатели`
2. FOR EACH fil:
1) SELECT `значение` as profit2012 FROM `показатели` WHERE `показатель` = 'прибыль' AND `год` = '2012' AND `филиал` = fil
2) SELECT `значение` as profit2011 FROM `показатели` WHERE `показатель` = 'прибыль' AND `год` = '2011' AND `филиал` = fil
3. SELECT fil, (profit2012 / profit2011) as `value` ORDER BY fil

Как это сделать в один запрос?
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38345226
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JsssK,

Как вы делите Пупкина ВП на директора чтобы узнать прибыльность филиала?
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38345235
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл добавить.Это в рубрику по Екзелю. В цитате не таблица и не из БД. Типичный екзельшит.
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38345250
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JsssK,

Код: sql
1.
2.
3.
4.
5.
6.
SELECT  t1.`филиал`, t1.`значение`/t2.`значение` as `value` 
FROM  `показатели` t1,  `показатели` t2
WHERE t1.`филиал`=t2.`филиал`
  AND t1.`год`='2012' AND t2.`год`='2011'
  AND t1.`показатель` = 'прибыль' AND t2.`показатель` = 'прибыль'
ORDER BY t1.`филиал`


Но задача бредовая. Или учебная.
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38345305
JsssK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
debloggerJsssK,
Как вы делите Пупкина ВП на директора чтобы узнать прибыльность филиала?
Я не делю значение показателя на его название!
Просто в одной таблице много разных показателей. Нужно поделить одни на другие, у которых одно и то же значение в поле "филиал" и разное в поле "год". При этом выбирается срез по какому то одному показателю.

debloggerЗабыл добавить.Это в рубрику по Екзелю. В цитате не таблица и не из БД. Типичный екзельшит.
Вы похоже не врубились. Таблица именно из MySQL.


miksoft, спасибо!
я не догадался, что можно одну и ту же таблицу поименовать разными идентификаторами.
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38345390
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JsssKdebloggerЗабыл добавить.Это в рубрику по Екзелю. В цитате не таблица и не из БД. Типичный екзельшит.
Вы похоже не врубились. Таблица именно из MySQL.Дело не в СУБД, дело в способе хранения данных. Тот, что используется в этой задаче (все данные вперемешку и без никакой нормализации), характерен для ведения самодельного учета в Excel-е и/или для некоего отчета, но не для исходных таблиц, хранящихся в БД.
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38346420
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JsssK,

дык и никто не может догадаться про синтаксис языка - все читают из доков.:)
...
Рейтинг: 0 / 0
Подскажите чайнику
    #38346771
deblogger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot JsssK]debloggerВы похоже не врубились. Таблица именно из MySQL.


Видел я такие таблицы в майскуль, тут и врубаться некуда. Перенесли методы из екзеля в реляционную бд и думают будто у них теперь реляционная бд.

Еще можно приклеить шильдик Тойоты на Калину. И думать.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите чайнику
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]