我有兩張我想加入的表。我想通過特定的日期(CreateDate)內部連接記錄。我想要的是在沒有任何東西可以加入時不要記錄。我加入名稱字段。對於特定日期(CreateDate),兩個表中都應該有1:1的姓名記錄。如果不是,我不想從第一張桌子或第二張桌子拿起獨立的唱片。下面的例子來看看。只有當記錄加入時內部連接
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:
John value10 value50 2017-09-03
Lili value20 value60 2017-09-03
對於天:二零一七年十月十二日 注意,對於莉莉表2中沒有那一天的記錄意味着沒有記錄採取(反之亦然,如果不會在表1和在表2同樣的情況 - 我不想把記錄)
表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'
然而事情是錯了,我沒有得到正確的結果。任何人都可以幫我解決我失蹤的事情嗎?
但約翰在兩個表中都有'2017-10-12'的記錄。你爲什麼期望沒有加入'2017-10-12'的記錄? –
請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查詢 – Strawberry
@TimBiegeleisen完全約翰在這兩天的表中都有記錄,所以這意味着它可以爲John獲取一個記錄加入。然而,不是莉莉因此不在那裏。這是正確 – Unknown