我有兩個表,我想將它們連接在一起。SQL命令可以在同一命令行中使用,但可以在兩個不同的表上使用
表1
Year, ID, Theme,
表2
First, Last, WeekID, Date, Affiliation
我想用這個命令
SELECT *
FROM Table1
CROSS JOIN Table2
WHERE Table1.ID = 5
AND WHERE Table2.Date >= 1/1/2011
AND Table2.Date <= 12/30/2011
ORDER BY Asc
我想做的發生是所有的行和列從表1是選擇ID列包含int值爲5的位置。在Table2中,應該選擇所有列和行都在給定日期範圍內。
我想知道WHERE
子句是否應該在CROSS JOIN
子句之後,如上所述。另外,我應該刪除第二個WHERE
關鍵字,而不是有以下命令。
SELECT *
FROM Table1
CROSS JOIN Table2
WHERE Table1.ID = 5
AND Table2.Date >= 1/1/2011
AND Table2.Date <= 12/30/2011
ORDER BY Asc
我的第三個問題是很棘手的。可以將2個不同的WHERE
子句用於像這樣的單個命令,但是可以應用於單獨的表?當我加入表格時,我可以有WHERE Table1 (*Condition*) AND WHERE Table2 (*Condition*)
嗎?
我想我可以通過爲每個表創建2個單獨的SQL命令1並避免使用JOIN
和2 WHERE
子句來輕鬆解決整個問題。這是你會推薦的嗎?
最終的結果會是這個樣子
表3
ID, Year, Theme, WeekID, Date, First, Last, Affiliation
隨後的細胞是爲了在根據日期按升序排列。
一個示例表低於
表3
ID Year Theme WeekID Date First Last Affiliation
5 2011 Stuff1 1 01/09/2011 Foo Bar Baz Inc
5 2011 Stuff2 2 01/14/2011 Flum Baz Bar Inc
5 2011 Stuff3 3 04/15/2011 Bar Flum Bub Inc
5 2011 Stuff4 4 05/01/2011 Bar Foo FlumBub Inc
5 2011 Stuff5 5 08/16/2011 Bub Baz Foo Inc
如何在這些2個表有關?沒有加入條件... – Randy
@Randy:我想這就是爲什麼Derek正在使用CROSS JOIN。 –
CROSS JOIN子句應該與它們相關 – TheDude