powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сделать сводную таблицу из выборки
15 сообщений из 15, страница 1 из 1
Как сделать сводную таблицу из выборки
    #39708528
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите, пожалуйста - есть некий запрос, который делает выборку из трех таблиц
и возвращает результат в виде таблицы номер 1.

Нужно получить сводную таблицу, где для каждого ФИО будет подсчитано число
Текущих, Отложенных и Будущих ремонтов (таблица номер 2)?
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708530
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица - результат:
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708562
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh,

Для начала версию FB озвучьте.
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708565
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Firebird 2.5.1 (Windows)
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708579
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh,

Лучше "некий запрос" сразу переписать. Дайте инфу как данные реально хранятся в базе. Если это, конечно, возможно. Из таблицы 1 получить нужную, похоже, можно только через ж...
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708596
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через ж... вот так можно попробовать:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select v1,
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.Код Статуса=1
       ),
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.Код Статуса=2
       ),
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.КодСтатуса=3
       )
from (
select distinct a.ФИО v1 
from Таблица a
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708604
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXI,

да ладно, есть же CASE, там вполне можно такое сделать, но только если количество столбцов будет постоянным
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708605
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, конечно.

Есть таблица Sale - главная.
Поле Sale.salestage содержит идентификатор для Name (текстовое название) из таблицы salestage.
Поле sale.responsible (ответственный) содержит идентификатор ФИО (FullName) из таблицы User

Запрос был такой:

Select
Sale.salestage Sale_Status,
(select Name from salestage where id=sale.salestage) Sale_Name,
(select FullName from "User" where id=sale.responsible) Men_Name
FROM Sale


В результате запроса получается список ФИО с повторяющимися и разными Sale.salestage. По которым и нужно посчитать, сколько суммарно объектов каждого типа (с идентификаторами salestage) есть для каждого ФИО
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708607
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIз таблицы 1 получить нужную, похоже, можно только через
select "ФИО",
count(case "Имя статуса"= 1 then 1 end),
count(case "Имя статуса"= 2 then 1 end),
count(case "Имя статуса"= 3 then 1 end)
from "первая таблица"
group by 1

Какой ленивый нынче студиозус пошел
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708608
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, прошу прощения - самое главное . Таблица 2 - это то, что хотелось бы получить!
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708621
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIЧерез ж... вот так можно попробовать:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select v1,
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.Код Статуса=1
       ),
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.Код Статуса=2
       ),
       ( select count(*)
         from Таблица b
         where b.ФИО =v1 and b.КодСтатуса=3
       )
from (
select distinct a.ФИО v1 
from Таблица a

ужас-ужас. действительно через ж.
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708627
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh,

см "кросс-отчет"
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708638
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

только после case нужен when. А вообще так лучше. Я что-то совсем в помпасы пошёл.
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708654
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо уважаемые участники!!!

С CASE все отлично заработало.
...
Рейтинг: 0 / 0
Как сделать сводную таблицу из выборки
    #39708673
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KreatorXXIтолько после case нужен when.должен же я был хоть минимальный тест на профпригодность заложить.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сделать сводную таблицу из выборки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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