проблема с Unpivot - PullRequest
       3

проблема с Unpivot

0 голосов
/ 26 июня 2019

Сбой удаления при выборе всех столбцов

тот, который работает,

SELECT
b.*
FROM   test b
UNPIVOT (amt FOR account IN (quantity AS 'Qty ',revenue AS 'Revenue',unit_price as 'Unit Price'))b

Сбой ниже,

select
all columns
from test b
UNPIVOT (amt FOR account IN (quantity AS 'Qty ',revenue AS 'Revenue',unit_price as 'Unit Price'))b

есть ли причина, по которой он не будет работать, когда я выберу все столбцы?

1 Ответ

0 голосов
/ 26 июня 2019

«все столбцы» - это синтаксис, неизвестный Oracle. Способ получить все возможные столбцы - "*".

Вы используете B в качестве псевдонима для таблицы TEST и для результата предложения UNPIVOT. Это смущает проблему.

Фактически, столбцы в таблице TEST недоступны для SELECTion. Вы можете выбрать только те столбцы, которые существуют после операции UNPIVOT. Попробуйте это:

select a.* from dual a
unpivot(val for col in (dummy));

Error report -
SQL Error: ORA-00904: "A": invalid identifier

Таблица является входом в UNPIVOT, вот и все.

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