Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перевернуть таблицу / 4 сообщений из 4, страница 1 из 1
04.11.2016, 12:36
    #39341401
akaipbay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевернуть таблицу
Подскажите пытаюсь перевернуть таблицу пишет Ошибка в запросе. Код: (1790) ORA-01790: expression must have same datatype as corresponding expression

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT *
FROM   (
select model, speed, ram, hd, cd, price from PC 
where code = (Select max(code) from PC)) t


UNPIVOT (value FOR chr IN (model, speed, ram, hd, cd, price));
...
Рейтинг: 0 / 0
04.11.2016, 16:11
    #39341490
metrAniksaraT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевернуть таблицу
Описание ошибки достаточно исчерпывающее:
"You are trying to connect two different values that can not be implicitly converted. Use the explicit conversion functions on these values."
Попытка засунать в одно поле значения из полей разных типов. Необходимо привести всё к одному типу.
...
Рейтинг: 0 / 0
06.11.2016, 22:11
    #39342240
Ramin Hashimzade
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевернуть таблицу
akaipbay,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
SQL> with t (model, speed, ram, hd, cd, price) as
  2  (
  3  select 1,100,8,100gb,'yes',150 from dual
  4  )
  5  select* from t
  6  UNPIVOT (value FOR chr IN (model, speed, ram, hd, cd, price))
  7  /
 
with t (model, speed, ram, hd, cd, price) as
(
select 1,100,8,100gb,'yes',150 from dual
)
select* from t
UNPIVOT (value FOR chr IN (model, speed, ram, hd, cd, price))
 
ORA-01790: expression must have same datatype as corresponding expression
 
SQL> 
SQL> 
SQL> 
SQL> with t(model,speed,ram,hd,cd,price) as
  2   (select 1, 100, 8, '100gb', 'yes', 150
  3      from dual)
  4  select * from (
  5  select to_char(model) model, to_char(speed) speed, to_char(ram) ram, to_char(hd) hd, to_char(cd) cd, to_char(price)price
  6   from t
  7   )
  8   UNPIVOT(value FOR chr IN(model, speed, ram, hd, cd, price))
  9  /
 
CHR   VALUE
----- -----
MODEL 1
SPEED 100
RAM   8
HD    100gb
CD    yes
PRICE 150
 
6 rows selected
 
SQL> 
...
Рейтинг: 0 / 0
07.11.2016, 06:04
    #39342319
akaipbay
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевернуть таблицу
Ramin Hashimzade, thanx.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перевернуть таблицу / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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