2016-11-10 7 views
3

データの列をそれぞれ引き出すのに関連しない2つのテーブルを取得しようとしています。内部の2つのテーブルを結合すると空の結果が返される

AlphaDataというテーブルとTLAuthというテーブルがあります。それぞれにはinvoiceというラベルの列が含まれています。少なくとも、比較を開始できるように、両方の列をプルする必要があります。 TLAuthには、AlphaDataの一部のが含まれますが、すべてではありません。

SELECT Alphadata.Invoice, TLAuth.Invoice 
FROM Alphadata 
INNER JOIN TlAuth 
ON TLauth.TLAUthID = Alphadata.TLAUthID; 

しかし、それは完全に空白に来る、私はこれを実行するたび:

は今の私は、次のコードを使用しています。間違いなくそこにデータがありますが、私はそれぞれから1列のデータを取り出すことができますが、同時に両方を取り出すことはできません。私はセットアップ(TL AuthからAlphadataへの1対多の関係)を設定していても動作していないようで、どんな助けでも壮大になるでしょう。

+2

あなたが任意のサンプルデータを共有することができますに参加左?あなたのIDはマッチしないかもしれません。 – zipa

+1

内部結合は、ID列が一致するレコードのみを返します。 2つのテーブルのIDの範囲は何ですか?また、請求書列またはID列を比較しますか? –

+0

これまで言及したように、私は各テーブル(外部キー)のIDが実際には空白であることを認識しました。私はそれをここで問題にしていますか? – Nik

答えて

1

テーブルが一致しなかった場合は、使用すべきでは

SELECT Alphadata.Invoice, TLAuth.Invoice 
From Alphadata 
LEFT JOIN TlAuth ON TLauth.TLAUthID=Alphadata.TLAUthID; 
+0

そのような仕事があります。 Alphadata.Invoice列のデータが表示されます。 TLAuthはまだ空です。 – Nik

+0

完了!請求書IDを直接比較するように変更しました。 ポインタのおかげでありがとうございます。 – Nik

+0

@ニック私の答えが正しければそれをマークしてください...どうぞこちらをご覧ください。 http://meta.stackexchange.com/questions/5234/how-does-accepting-アンサーワーク – scaisEdge

関連する問題