Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Две выборки из одного столбца / 6 сообщений из 6, страница 1 из 1
06.11.2015, 11:12
    #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
06.11.2015, 11:20
    #39096330
stelvic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две выборки из одного столбца
Если pid всегда два или хотя бы не более двух (т.е. заранее известно, что полей требуется определенное число), то да. Но лучше не стоит. С подобными задачами лучше справляются построители отчетов.
...
Рейтинг: 0 / 0
06.11.2015, 11:35
    #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
06.11.2015, 12:03
    #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
06.11.2015, 13:38
    #39096579
stelvic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две выборки из одного столбца
Если в data будут отрицательные числа, то вместо них получатся нули.
...
Рейтинг: 0 / 0
06.11.2015, 13:43
    #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
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Две выборки из одного столбца / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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