Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Инженер - программист МАЗ
 Аватар для zloy_developer
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3

Перевернуть запрос ORACLE

15.10.2019, 16:30. Показов 1788. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, не получается перевернуть запрос в одну строку
делаю вот так
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
WITH t_print AS
 (SELECT t.prof,
         CASE
           WHEN t.prof = 'ВЕДУЩИЙ ЭКОНОМИСТ' THEN
            t1
           WHEN t.prof = 'ЭКОНОМИСТ' THEN
            t2
           WHEN t.prof = 'ИНЖЕНЕР' THEN
            t3
           WHEN t.prof = 'Кладовщик' THEN
            t4
         END AS id_rule
    FROM sp_print_employee t
   WHERE t.podr = 83
     AND t.prz_act = 1)
 (SELECT id_rule
    FROM t_print
   WHERE t1 = 'ВЕДУЩИЙ ЭКОНОМИСТ' AS fio) r1 inner join
 (SELECT id_rule FROM t_print WHERE t2 = 'ЭКОНОМИСТ' AS fio) r2 ON r2.fio = r1.fio inner join
 (SELECT id_rule FROM t_print WHERE t3 = 'ИНЖЕНЕР' AS fio) r3 ON r3.fio = r1.fio inner join
 (SELECT id_rule FROM t_print WHERE t4 = 'КЛАДОВЩИК' AS fio) r4 ON r4.fio = r1.fio
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2019, 16:30
Ответы с готовыми решениями:

Oracle неправильно выполняет запрос или я неправильно принимаю Oracle
Неправильно отрабатывает автоматически сгенерированный NHibernate запрос. select s.*, rownum from( select t2.BOOLEAN_VALUE as...

Перекрестный запрос (аналог PIVOT). Перевернуть данные из строк в заголовки столбцов
Господа программисты, помогите, пожалуйста, реализовать запрос MySQL, позволяющий получить таблицу – аналог странички журнала успеваемости,...

Перевернуть экран (изменить ориентацию desktop) на 180? Или саму форму приложения перевернуть
Delphi XE3. Как?

2
Инженер - программист МАЗ
 Аватар для zloy_developer
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
16.10.2019, 14:08  [ТС]
Народ переделал запрос ну что то запутался с объединением join

Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
WITH t_print AS
 (SELECT t.fio,
         CASE
           WHEN t.prof = 'ВЕДУЩИЙ ЭКОНОМИСТ' THEN
            1
           WHEN t.prof = 'ЭКОНОМИСТ' THEN
            2
           WHEN t.prof = 'ИНЖЕНЕР' THEN
            3
           WHEN t.prof = 'КЛАДОВЩИК' THEN
            4
         END AS id_role
    FROM sp_print_employee t
   WHERE t.podr = 83
     AND t.prz_act = 1)
SELECT t1 AS ved_econ, t2 AS econ, t3 AS engen, t4 AS klad FROM 
(SELECT t1.fio, ROWNUM AS rw FROM t_print t1 WHERE t1.id_role = 1) r1 left join 
(SELECT t2.fio, ROWNUM AS rw FROM t_print t2 WHERE t2.id_role = 2) r2 ON r2.fio = t1.fio left join
(SELECT t3.fio, ROWNUM AS rw FROM t_print t3 WHERE t3.id_role = 3) r3 ON r3.fio = t1.fio left join 
(SELECT t4.fio, ROWNUM AS rw FROM t_print t4 WHERE t4.id_role = 4) r4 ON t4.fio = t1.fio
0
Инженер - программист МАЗ
 Аватар для zloy_developer
293 / 64 / 2
Регистрация: 05.12.2011
Сообщений: 392
Записей в блоге: 3
28.10.2019, 16:22  [ТС]
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT MAX(ved_econ) AS ved_econ,
       MAX(econ) AS econ,
       MAX(engine) AS engine,
       MAX(klad) AS klad
  FROM (WITH t_print AS (SELECT t.fio,
                                CASE t.prof
                                  WHEN 'ВЕДУЩИЙ ЭКОНОМИСТ' THEN 1
                                  WHEN 'ЭКОНОМИСТ' THEN 2
                                  WHEN 'ИНЖЕНЕР' THEN 3
                                  WHEN 'КЛАДОВЩИК' THEN 4 
                                END AS id_role,
                                t.id
                           FROM sp_print_employee t
                          WHERE t.podr = 83
                            AND t.prz_act = 1)
SELECT ved_econ, econ, engine, klad FROM sp_print_employee t left join 
(SELECT t1.id, t1.fio AS ved_econ, ROWNUM AS rw FROM t_print t1 WHERE t1.id_role = 1) r1 ON t.id = r1.id left join 
(SELECT t2.id, t2.fio AS econ, ROWNUM AS rw FROM t_print t2 WHERE t2.id_role = 2) r2 ON t.id = r2.id left join 
(SELECT t3.id, t3.fio AS engine, ROWNUM AS rw FROM t_print t3 WHERE t3.id_role = 3) r3 ON t.id = r3.id left join 
(SELECT t4.id, t4.fio AS klad, ROWNUM AS rw FROM t_print t4 WHERE t4.id_role = 4) r4 ON t.id = r4.id)
Oracle 11 SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT MAX(DECODE(prof, 'ВЕДУЩИЙ ЭКОНОМИСТ', fio)) lead_econ,
       MAX(DECODE(prof, 'ЭКОНОМИСТ', fio)) econ,
       MAX(DECODE(prof, 'ИНЖЕНЕР', fio)) engineer,
       MAX(DECODE(prof, 'КЛАДОВЩИК', fio)) stockman
  FROM (SELECT t.fio,
               t.prof,
               ROW_NUMBER() OVER(PARTITION BY prof ORDER BY fio) rn
          FROM sp_print_employee t
         WHERE t.podr = 83
           AND t.prz_act = 1)
 GROUP BY rn
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.10.2019, 16:22
Помогаю со студенческими работами здесь

Запрос в Oracle
Есть таблица ID|счет|период| ---------------- 1| 1 |2009 2| 2 |2009 3| 3 |2009 4| 4 |2009 5| 2 |2010 6|...

Oracle запрос
select Счет from Выплаты GROUP BY Счет having max(Дата)<cdate('01.01.2011') результат этого запроса: Счет | -----| 425 | ...

Запрос из БД Oracle
Цель: при вводе имени в консоли, сделать запрос на выборку по введенному слову. Результат: при нахождении такого значения поля вывести...

Запрос с WITH Oracle
Есть две таблицы школы(название_школы,номер_школы ... ) и учителя(имя, номер_школы ...) нужно их связать по школам и вывести порядковый...

запрос Oracle
делаю запрос cmd.CommandText = "select * from test_user.table_caston where trunc(to_date(column1, 'DD.MM.YYYY HH24:MI:SS'))=('" +...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru