У меня очень странная проблема, когда я делаю следующее соединение на двух разных таблицах в Teradata. Он не возвращает никаких результатов, что указывает на отсутствие общего значения между таблицей_А и таблицей_B.Проблема со входом в Teradata
SELECT
*
FROM
table_A a JOIN table_B b ON a.id = b.id;
<>
0 rows returned
Однако, когда я бегу следующие два запроса, я получить результаты, доказывающие, что столбец ID в обеих таблицах имеет, по меньшей мере, один ряд с «Джон».
SELECT
id
FROM table_A
WHERE
id = 'John';
<>
1 row returned
SELECT
id
FROM table_B
WHERE
id = 'John';
<>
1 row returned
Тип данных для всех столбцов в TABLE_A и TABLE_B является нулевым
Вы можете попробовать: 'ON trim (a.id) = trim (b.id);' чтобы гарантировать, что там нет какого-либо белого пространства? Кроме того, вы говорите, что тип данных NULL для этих полей? Я не верю, что у вас может быть тип данных NULL. Это Char() или VARCHAR() для полей 'id'? – JNevill
И что возвращается отдельными запросами? Каков тип данных id? – dnoeth
Что возвращается, когда вы переключаетесь на ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ? – dnoeth