Как запросить несколько столбцов в несколько столбцов в Oracle 10g - PullRequest
1 голос
/ 21 июня 2010

Возможно, где-то уже есть ответ, но возникли проблемы с его поиском, так как я думаю, что мне не хватает ключевых терминов.

Я хочу преобразовать несколько столбцов в несколько столбцов

, поэтомумой запрос в настоящее время возвращает это:

col1   |   col2   | col3
__________________________
a       |  x       | 1
b       |  y       | 1
c       |  z       | 1
d       |  x       | 2
e       |  y       | 2
f       |  z       | 2
g       |  x       | 3
h       |  y       | 3
i       |  z       | 3

Что я хочу сделать, это запросить его снова, чтобы получить:

col 1 | col 2 (shows column 1 and 2 where col3 is equal to 1)
col 3 | col 4 (shows column 1 and 2 where col3 is equal to 2)
col 5 | col 6 (shows column 1 and 2 where col3 is equal to 3)

Надеюсь, это имеет смысл.Не опубликовал мой запрос, чтобы получить первый набор результатов, так как он довольно большой (несколько объединений всех в нем) и не думал, что это было необходимо.Если это поможет, я сократим это до чего-то более управляемого и отправлю это.

Редактировать: Позвольте мне попытаться объяснить лучше.По новому запросу я хочу показать 6 столбцов.Первые два столбца будут Выбрать col1, col2 из «исходного запроса», где col3 = 1

Вторые два столбца (col3 и col4) будут
Выбрать col1, col2 из «исходного запроса», где col3= 2.

Последние два столбца (col5 и col6) будут
выбрать col1, col2 из «исходного запроса», где col3 = 3.

1 Ответ

0 голосов
/ 21 июня 2010

Хорошо, я разработал способ (не очень элегантный, на мой взгляд, но это работает). Добавлен предыдущий запрос в качестве представления Тогда сделал ::

select a.col1, a.col2, b.col1, b.col2, c.col1, c.col2
 from view a, view b, view c
 where a.col3 = 1
  and  b.col3 = 2
  and  c.col3 = 3

также пришлось связать первичный ключ, который я здесь исключил для простоты. Я думаю, что это в значительной степени то, что предлагал картофельные пилинги.

Спасибо за вашу помощь, ребята, если кто-то думает о лучшем способе сделать это, пожалуйста, посоветуйте, так как я в настоящее время очень любитель и хорошо знаю этот факт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...