我有(2)表(1)爲Prices
,另一個是Orders
結合2 SQL SELECT查詢轉換爲一個
價格:
Symbol varchar
Open decimal
High decimal
Low decimal
Date DateTime
訂單:
Ticker varchar
Enter decimal
EntDate datetime
Exit decimal
ExtDate datetime
我想要一個查詢,給我所有的特定日期時間範圍的定價數據和所有的o該符號爲同一日期時間範圍rders:
SELECT
T1.Symbol
, P1.Open
, P1.High
, P1.Low
, P1.Close
, P1.Date
, O1.EntDate
, O1.Enter
, O1.ExtDate
, O1.Exit
FROM Prices AS P1
INNER JOIN ORDERS AS O1 ON O1.Ticker = P1.Symbol
WHERE P1.Date < CONVERT(datetime, '01/01/2012 10:00 AM')
顯然,這是行不通的,我得到重複價格數據的每一行訂單多個列表。
例價格表
Sym Open High Low Close Date
ABC 1 3 1 2 1/1/2011 10:01 AM
ABC 1 3 1 2 1/1/2011 10:02 AM
ABC 1 3 1 2 1/1/2011 10:03 AM
ABC 1 3 1 2 1/1/2011 10:04 AM
ABC 1 3 1 2 1/1/2011 10:05 AM
ABC 1 3 1 2 1/1/2011 10:06 AM
ABC 1 3 1 2 1/1/2011 10:07 AM
ABC 1 3 1 2 1/1/2011 10:08 AM
ABC 1 3 1 2 1/1/2011 10:09 AM
ABC 1 3 1 2 1/1/2011 10:10 AM
實施例的訂單表
Sym Enter EntDate Exit ExtDate
ABC 1 1/1/2011 10:-00 3 1/1/2011 10:02 AM
ABC 1 1/1/2011 10:-03 3 1/1/2011 10:04 AM
示例輸出用於價格和訂單查詢與日期和EntDate < 1/1/2011上午10點07和符號= ABC
Sym Open High Low Close Date Enter EntDate Exit ExtDate
ABC 1 3 1 2 1/1/2011 10:01 AM 1 1/1/2011 10:-00 3 1/1/2011 10:02 AM
ABC 1 3 1 2 1/1/2011 10:02 AM 1 1/1/2011 10:-03 3 1/1/2011 10:04 AM
ABC 1 3 1 2 1/1/2011 10:03 AM
ABC 1 3 1 2 1/1/2011 10:04 AM
ABC 1 3 1 2 1/1/2011 10:05 AM
ABC 1 3 1 2 1/1/2011 10:06 AM
ABC 1 3 1 2 1/1/2011 10:07 AM
看起來你需要在'O1.EntDate'添加額外的過濾器或'O1.ExtDate'到限制範圍,但不知道你的意思是什麼「我得到多個價格數據行重複的訂單列表」以及爲什麼這是一個問題。預計與加入。也許提供一些示例數據和期望的結果。 –
我會給你上面的示例輸出... – CraigJSte
我會給你上面的示例輸出...我嘗試了太多的數據來填充窗口..本質上問題是訂單數據重複自身,它提供了重複的數據一個問題。也許連接將不會有一張桌子充滿價格數據,但只有少量記錄/線與訂單信息。 – CraigJSte