/ / Dołączanie do Is Null MS Access SQL - sql, ms-access

Dołączanie do Is Null MS Access SQL - sql, ms-access

Jak mogę dołączyć 2 tabele w MS Access, które mogą miećWartości NULL w polach łączenia? Na przykład mam 2 tabele, Tabela 1 i Tabela 2. Chciałbym dołączyć do nich w Tabeli 1. [Pole testowe 1] = Tabela 2. [Pole testowe 1]. Jeśli pole w obu tabelach ma wartość NULL, chciałbym, aby się przyłączyli. Próbowałem na kilka różnych sposobów, w tym SQL poniżej. Kiedy próbuję uruchomić, otrzymuję komunikat o błędzie: "Missing),] lub Item in Query expression" "Próbowałem wstawić więcej nawiasów itp., Ale nic nie zadziałało.

SELECT Table1.[Test Field 1], Table1.[Test Field 2], Table2.[Test Field 1], Table2.[Test Field 2]
FROM Table1 INNER JOIN Table2 ON Table1.[Test Field 1] = Table2.[Test Field 1]
OR (ISNULL(table1.[test field 1]) AND ISNULL(table2.[Test Field 1]));

Odpowiedzi:

2 dla odpowiedzi № 1

Każdy ON w programie Access z więcej niż 1 porównaniem musi być zawarty w nawiasach. Niestety, otrzymany komunikat o błędzie nie jest zbyt opisowy, ale można go łatwo naprawić.

SELECT Table1.[Test Field 1], Table1.[Test Field 2], Table2.[Test Field 1], Table2.[Test Field 2]
FROM Table1 INNER JOIN Table2 ON (Table1.[Test Field 1] = Table2.[Test Field 1]
OR (ISNULL(table1.[test field 1]) AND ISNULL(table2.[Test Field 1])));

0 dla odpowiedzi nr 2

IS NULL z spacją sprawdza, czy kolumna jest rzeczywiście pusta. To może być właśnie to, czego chcesz użyć. Oto twoje zapytanie za pomocą IS NULL po nazwach kolumn:

SELECT Table1.[Test Field 1], Table1.[Test Field 2], Table2.[Test Field 1], Table2.[Test Field 2]
FROM Table1
INNER JOIN Table2 ON (Table1.[Test Field 1] = Table2.[Test Field 1]
OR (table1.[test field 1] IS NULL AND table2.[Test Field 1] IS NULL));