powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Две выборки из одного столбца
6 сообщений из 6, страница 1 из 1
Две выборки из одного столбца
    #39096317
highroller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, нужна помощь
есть таблицы:
id pid data001 1 1111001 2 2222002 1 3333002 2 4444003 1 5555003 2 6666
Возможно ли составить запрос таким образом, что бы получить следующее:
id data_1 data_2001 1111 2222002 3333 4444003 5555 6666
...
Рейтинг: 0 / 0
Две выборки из одного столбца
    #39096330
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если pid всегда два или хотя бы не более двух (т.е. заранее известно, что полей требуется определенное число), то да. Но лучше не стоит. С подобными задачами лучше справляются построители отчетов.
...
Рейтинг: 0 / 0
Две выборки из одного столбца
    #39096343
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если количество pid всегда два

Код: sql
1.
2.
3.
select t1.id, max(iif(t1.pid = 1, t1.data, 0)) as data1, max(iif(t1.pid = 2, t1.data, 0)) as data2
from tab t1
group by t1.id
...
Рейтинг: 0 / 0
Две выборки из одного столбца
    #39096385
highroller
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Граур СтаниславЕсли количество pid всегда два

Код: sql
1.
2.
3.
select t1.id, max(iif(t1.pid = 1, t1.data, 0)) as data1, max(iif(t1.pid = 2, t1.data, 0)) as data2
from tab t1
group by t1.id




Спасибо, помогло
...
Рейтинг: 0 / 0
Две выборки из одного столбца
    #39096579
stelvic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в data будут отрицательные числа, то вместо них получатся нули.
...
Рейтинг: 0 / 0
Две выборки из одного столбца
    #39096585
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stelvicЕсли в data будут отрицательные числа, то вместо них получатся нули.
Не будем обижать отрицательные числа.

select t1.id, max(iif(t1.pid = 1, t1.data, null)) as data1, max(iif(t1.pid = 2, t1.data, null)) as data2
from tab t1
group by t1.id
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Две выборки из одного столбца
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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