powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перевернуть таблицу
4 сообщений из 4, страница 1 из 1
Перевернуть таблицу
    #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
Перевернуть таблицу
    #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
Перевернуть таблицу
    #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
Перевернуть таблицу
    #39342319
akaipbay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ramin Hashimzade, thanx.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Перевернуть таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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