Ich habe ein sehr seltsames Problem, wenn ich die folgenden Join an zwei verschiedenen Tabellen in Teradata tun. Es gibt keine Ergebnisse zurück, was darauf hinweist, dass zwischen Tabelle_A und Tabelle_B kein gemeinsamer Wert vorhanden ist.Problem mit beitreten in Teradata
SELECT
*
FROM
table_A a JOIN table_B b ON a.id = b.id;
<>
0 rows returned
Allerdings, wenn ich die folgenden zwei Abfragen ausführen, ich bekomme Ergebnisse anzeigt, dass die ID-Spalte in beiden Tabellen mit ‚John‘ mindestens eine Zeile hat.
SELECT
id
FROM table_A
WHERE
id = 'John';
<>
1 row returned
SELECT
id
FROM table_B
WHERE
id = 'John';
<>
1 row returned
Der Datentyp für alle Spalten in TABLE_A und Table_B ist null
Können Sie versuchen: 'ON trim (a.id) = trimmen (b.id);' um sicherzustellen, dass dort kein weißer Raum hängt? Sie sagen auch, dass der Datentyp für diese Felder NULL ist? Ich glaube nicht, dass Sie einen NULL-Datentyp haben können. Ist es ein Char() oder VARCHAR() für die ID-Felder? – JNevill
Und was wird von den einzelnen Abfragen zurückgegeben? Was ist der Datentyp von ID? – dnoeth
Was wird zurückgegeben, wenn Sie zu einem FULL OUTER JOIN wechseln? – dnoeth