2014-04-21 19 views
0

我想從table2中選擇table2,其中table2包含特定的日期範圍。我已經嘗試了很多不同的疑問。其中一些我收到語法錯誤,還有一些日期範圍不起作用。具有日期範圍的SQL IN運算符

目前:

SELECT DISTINCT f 
FROM table1 
WHERE f IN(f.table2) as s 
WHERE s.time > '2013-01-01 00:00:00' AND s.time < '2013-01-07 00:00:00' 
ORDER BY s.time 

哪些是聲明這種類型的正確語法?我看到的所有示例如下:

Select * 
From table1 
Where x in(table2); 

我找不到更深入的示例。任何建議表示讚賞,如有需要,請留下評論以獲取更多信息。

enter image description here

+0

請編輯您的問題並顯示樣本數據和期望的結果。您可能會驚訝地發現,非工作代碼通常不能很好地表達意圖。 –

+0

@GordonLinoff - 我添加了一張照片,試圖展示我有什麼我期望的。我做了不同的約會,但我主要是想表明我想要約會的日期和一週內的時間。 –

+0

simle table1和table2應該如何查看? – flaschenpost

回答

1

一個WHERE子句可以在一個查詢中只出現一次,除非它是一個SUBQUERY內,使用IN條款與另一個SELECT你需要遵循這個模式:從

SELECT * 
FROM TABLE1 
WHERE X IN (SELECT OneColumnOnly FROM Table2) 
    AND TIME BETWEEN '1/1/2012' AND '1/1/2013' 

X列TABLE1必須與TABLE2中的OneColumnOnly類型相同或隱式轉換爲INTVARCHAR

+0

一個連接會更快,更清晰,但問題已經很模糊了...... – flaschenpost

+0

在'和'語句之前的'in'語句中,我不能使用別名嗎? '意想不到的令牌:近線1' –

+0

你必須發佈你的SQL讓我回答。 –