Запрос Db2 - Исправление двух таблиц без результата - PullRequest
0 голосов
/ 21 мая 2019

Это две таблицы с введенными данными:

THERA.CLASS_HDR VALUES('BAT12', 'Regola Valore x calcolo qte', 20, null, null, null, 'N', null, null, 'N', 'N', 'N', 'PRIMROSE', null, null, 'com.thera.thermfw.plexweb.PlexDOList', 'com.thera.thermfw.plexweb.servlet.PlexGridActionAdapter', null, null, null, 'N', null, null, null, 'N', null, 'N', 0, 0, null, null, null, 'N', 'N', 'ADMIN_001', CURRENT TIMESTAMP, 'Y', 'N');

THERA.CLASS_HDR_NLS VALUES('BAT12', 'it', 'Regola Valore x calcolo qte', 'Regola Valore x calcolo qte');

Таблица:

  1. THERA.CLASS_HDR
  2. THERA.CLASS_HDR_NLS

Я сделал запрос:

select * 
from THERA.CLASS_HDR
join THERA.CLASS_HDR_NLS 
ON THERA.CLASS_HDR.CLASS_NAME = THERA.CLASS_HDR_NLS.CLASS_NAME  
where CLASS_NAME = 'BAT12' AND  language='it'

Результат:

[SELECT - 0 измененных строк][IBM] [Драйвер CLI] [DB2 / NT64] SQL0203N Ссылка на столбец «CLASS_NAME» неоднозначна.SQLSTATE = 42702

где я сделал неправильный запрос?

1 Ответ

0 голосов
/ 21 мая 2019

В нем четко указано, что ссылка на столбец CLASS_NAME неоднозначна, что означает, что обе эти таблицы имеют этот столбец, и вы должны явно указать, какую из них вы хотите использовать в выражении CLASS_NAME = 'BAT12'.Если вы хотите использовать этот столбец из таблицы THERA.CLASS_HDR, он должен выглядеть следующим образом:

select * 
from THERA.CLASS_HDR 
join THERA.CLASS_HDR_NLS 
ON THERA.CLASS_HDR.CLASS_NAME = THERA.CLASS_HDR_NLS.CLASS_NAME  
where THERA.CLASS_HDR.CLASS_NAME = 'BAT12' AND language='it'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...