powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос с выводом в 3 столбца
11 сообщений из 11, страница 1 из 1
Запрос с выводом в 3 столбца
    #39633290
dj_Stalker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Вопрос может и нубский, но прошу помощи в его решении.
Есть запрос , в результате чего получены данные в виде:
Пор. номер - Параметр 1 (1) - значение = 1
--//-- - Параметр 2 (1) - значение = 2
--//-- - Параметр 3 (1) - значение = 30
--//-- - Параметр 1 (2) - значение = 45
--//-- - Параметр 2 (2) - значение = 51
--//-- - Параметр 3 (2) - значение = 62
--//-- - Параметр 1 (3) - значение = 74
--//-- - Параметр 2 (3) - значение = 86
--//-- - Параметр 3 (3) - значение = 91
Надо написать еще один запрос к этому подзапросу, чтобы вывод был в виде:
(1) (2) (3)Параметр 1 - 1 45 74Параметр 2 - 2 51 86Параметр 3 - 30 62 91
Собственно как сделать именно запросом? FireBird.
Спасибо заранее.
З.Ы.: Если что непонятно - уточню.
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633295
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633297
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
19.04.2018 16:18, dj_Stalker пишет:
> Если что непонятно - уточню.

если что непонятно - читай учебник!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dj_StalkerЗ.Ы.: Если что непонятно - уточню.

Запросы к выводу имеют весьма опосредствованное отношение, так что непонятно зачем ты
хочешь сделать это запросом. Недостаточное знание клиентского приложения?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633347
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dj_Stalker,

Если всего три столбца, то можно по-тупому типа так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select a.Параметр,
         ( select b.Значение
           from Таблица b
           where b.Параметр=a.Параметр and b.ВторойПараметр=1
         ),
         ( select b.Значение
           from Таблица b
           where b.Параметр=a.Параметр and b.ВторойПараметр=2
         ),
         ( select b.Значение
           from Таблица b
           where b.Параметр=a.Параметр and b.ВторойПараметр=3
         )
from Таблица a
where a.ВторойПараметр=1


Если дашь DDL таблицы или таблиц, то возможно по-другому. И версию FB нужно.
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633356
dj_Stalker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем откликнувшимся.

Dimitry Sibiryakovdj_StalkerЗ.Ы.: Если что непонятно - уточню.

Запросы к выводу имеют весьма опосредствованное отношение, так что непонятно зачем ты
хочешь сделать это запросом. Недостаточное знание клиентского приложения?..

Есть такое...

Просто есть один вариант, когда значения параметров в единичном виде. А тут можно сказать было 3 замера тех же параметров, и надо вывести в удобном виде. Решил действовать по образу варианта с одним замером. Но не выходит особенно-то. С FastReport'ом тоже знаком недолго, так что сложности таки есть. :)

KreatorXXI, а в моем первом подзапросе аж 5 таблиц задействованы, для каждой DDL полностью приводить или только шапки надо? Но все равно это ж какие портянки выйдут.
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633368
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dj_Stalkerа в моем первом подзапросе аж 5 таблиц задействованы

GOOGLE => Common Table Expression

http://www.sql.ru/forum/afsearch.aspx?s=cte&submit=?????&bid=2

либо execute block / stored procedure -> for select

Но это все равно уродство, как правило на клиенте надо шахматки делать, а не на сервере
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633383
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dj_StalkerС FastReport'ом тоже знаком недолго, так что сложности таки есть. :)

Ну так ознакомься получше:
https://www.fastreport.ru/ru/forum/index.php?s=814ec9c252d42155dea8f5d9270d7127&showtopic=7158
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633437
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dj_StalkerСпасибо всем откликнувшимся.

Dimitry Sibiryakovпропущено...

Запросы к выводу имеют весьма опосредствованное отношение, так что непонятно зачем ты
хочешь сделать это запросом. Недостаточное знание клиентского приложения?..

Есть такое...

Просто есть один вариант, когда значения параметров в единичном виде. А тут можно сказать было 3 замера тех же параметров, и надо вывести в удобном виде. Решил действовать по образу варианта с одним замером. Но не выходит особенно-то. С FastReport'ом тоже знаком недолго, так что сложности таки есть. :)

KreatorXXI, а в моем первом подзапросе аж 5 таблиц задействованы, для каждой DDL полностью приводить или только шапки надо? Но все равно это ж какие портянки выйдут.
Задачу как-бы лучше описать более подробно. Может сразу одним запросом получится. И это будет эффективно, и то, что надо. А в общем, если количество столбцов одинаковое всегда и небольшое, то можно и SQL-запросом. Но в любом случае на клиенте удобнее.
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633806
dj_Stalker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за посильную помощь, особенно Arion за ссылки. Помог пост Запрос: данные из 1 поля представить 4 полями . А именно немного модифицировал запрос по образу с этим:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select max(case when numsmena = 1 then numpropusk end) smena1,
       max(case when numsmena = 2 then numpropusk end) smena2,
       max(case when numsmena = 3 then numpropusk end) smena3,
       max(case when numsmena = 4 then numpropusk end) smena4
  from (select count(*) cnt, t.numsmena, t.numpropusk
          from tbl_crushblanks t
               join tbl_crushblanks t2 on t2.numsmena = t.numsmena and t2.numpropusk <= t.numpropusk
          group by 2, 3
       ) q
  group by cnt
...
Рейтинг: 0 / 0
Запрос с выводом в 3 столбца
    #39633807
dj_Stalker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри, не Arion, а Arioch. :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запрос с выводом в 3 столбца
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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