2017-10-15 9 views
0

私は2つのテーブルを持っています。特定の日付(CreateDate)で内部結合レコードにしたい私が望むのは、何も参加できないときに記録を取らないことです。名前欄に参加します。ある日(CreateDate)には、両方のテーブルのNameによって1:1レコードが存在するはずです。そうでなければ、私は第1または第2のテーブルのいずれかから単独記録を取ることは望まない。下記の例では、ビューを作成します。参加するレコードがある場合にのみ内部結合

for all tables: 
Id - PK/AI 
Name - varchar 
FieldX/FieldY - varchar 
CreateDate - Datetime 

表1

ID | Name | FieldX | CreateDate 

表2

ID | Name | FieldY | CreateDate 

表3

ID | Name | FieldX | FIeldY | CreateDate 

例:

表1:

1 John value10 2017-09-03 
2 Lili value20 2017-09-03 
3 John value30 2017-10-12 
4 Lili value40 2017-10-12 

表2:今すぐ

1 John value50 2017-09-03 
2 Lili value60 2017-09-03 
3 John value70 2017-10-12 
4 Lili value80 2017-04-01 

私は一日2017-09-03のために参加したいと言って、これは

で最終的な結果でなければなりません

表3:1日のために

John value10 value50 2017-09-03 
Lili value20 value60 2017-09-03 

:2017年10月12日 ではないであろう場合には、その日のために表2でリリにはレコードが何も取らされるレコード(およびその逆を意味しないことに注意表1にあるとTable2の同じような状況にあった - )私は記録を取りたくない

表3:

John value30 value70 2017-10-12 

は何私がこれまで持っていることはこれです:

INSERT INTO Table3 (Name, FieldX, FieldY, CreateDate) 
SELECT T1.Name, T1.FieldX, T2.FieldY, T1.CreateDate FROM Table1 As T1 
INNER JOIN Table2 As T2 ON T1.Name=T2.Name 
WHERE T1.CreateDate = '2017-10-12' 

しかし、何かが私は正しい結果を得ることはありません間違っています。誰かが私が逃しているものを助けることができますか?

+0

しかし、ジョンは両方のテーブルの '2017-10-12'のレコードを持っています。なぜあなたは2017-10-12で参加する記録がないと思いますか? –

+0

https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-クエリ – Strawberry

+0

@TimBiegeleisen正確に、Johnはその日の両方のテーブルに両方のレコードを持っています。しかし、リリーはそこにいません。それは正しいです – Unknown

答えて

1

私はあなたが提供した日付によってフィルタリング両方のテーブルのレコードをしたいあなたの質問を誤解していない場合。その場合、2番目のテーブルの場合も同じ条件をWHEREに追加する必要があります。このよう

WHERE句のAND T2.CreateDate = '2017-10-12'

INSERT INTO Table3 (Name, FieldX, FieldY, CreateDate) 
SELECT T1.Name, T1.FieldX, T2.FieldY, T1.CreateDate FROM Table1 As T1 
INNER JOIN Table2 As T2 ON T1.Name=T2.Name 
WHERE T1.CreateDate = '2017-10-12' AND T2.CreateDate = '2017-10-12' 

注意してください。

これは、私はそれをテストするときに説明したように動作するように思えます。

+0

はい、それは仕事のようです。 – Unknown

関連する問題