2016-07-31 10 views
-2

左の結合を実行して、異なるテーブルの2つの列間のレコードにアクセスしようとしましたが、データが列の1つに表示されません。左の結合がアクセスできない

SQLコード:私に

SELECT [TABLE 1].[CODE 1], [TABLE 2].[CODE 2] 
FROM [TABLE 2] 
LEFT JOIN [TABLE 1] 
ON [TABLE 1].[CODE 1]=[TABLE 2].[CODE 2]; 

enter image description here enter image description here

+0

表1と表2のデータと予想される結果をお知らせください。 – sstan

+0

投稿が更新されました。テーブル1とテーブル2の画像を追加しました –

+0

両方のテーブルで一致する値が表示されません。なぜあなたはデータが 'テーブル1 'に表示されることを期待していますか?あなたの期待している結果は正確ですか?私は、あなたが結合がどのように働くかについて基本的な誤解があると感じています。 – sstan

答えて

0

これは、列の値が同じではないことを、彼らは同じデータ型であることを示し? 1つは先行ゼロを持っていますが、他はゼロですか?

値は、結合が機能するには完全な一致でなければなりません。

+0

私はコード2のデータしか見ることができないが、コード1はない。コード1はコード2に対応する値を持つ。 –

+0

コード1は空白だった私の提案は問題を他の列に移しましたか? – Lunster

+0

両方のコードに空白がありますが、値があるはずです –

0

LEFT JOINをINNER JOINに変更します。結果は表示されますか?それが今

コード2に、少なくともいくつかのコード1 があることを示しているJOINの左後方に変更し、周りのテーブルを交換します(つまり、「表1からすべてのレコードを取り、表2との比較」)とWHERE [TABLE 2].[CODE 2] IS NULLを追加します。これは、コード2と一致しないすべてのコード1を提供します。このようなもの:

SELECT [TABLE 1].[CODE 1], [TABLE 2].[CODE 2] 
FROM [TABLE 1] 
LEFT JOIN [TABLE 2] 
ON [TABLE 1].[CODE 1]=[TABLE 2].[CODE 2] 
WHERE [TABLE 2].[CODE 2] IS NULL; 

データがない場合はすべてが一致することを意味します。