我有一個表信息,其設計是這樣的查詢加入和優化
id - bigint
Name - varchar2
refid - bigint
status - int
ExpDate - datetime
- 狀態值可以是0,1,2,3,4
- REFID是其他表的外鍵我們將使用過
我想編寫一個查詢所有記錄應來自該表狀態0,1,2,3,但只有7由EXPDATE最新記錄應其來狀態是4.
我想不出在T-SQL中如何實現這一點。
請幫助我或給我建議,以便我可以開始寫它。
高達現在我已經寫
SELECT *
FROM INFO
WHERE STATUS IN (0,1,2,3) AND
REFID IN (SELECT REFID FROM REFTABLE WHERE REFCHAIN='BMW')
SELECT TOP 7
FROM INFO
WHERE STATUS=4 AND
REFID IN(SELECT REFID FROM REFTABLE WHERE REFCHAIN='BMW')
ORDER BY EXPDATE DESC
我需要加入他們的行列???
你想優化查詢或刪除重複記錄
或者:
然後在這樣的兩個查詢使用? – pavanred 2012-02-23 08:38:10
沒有重複記錄,因爲'STATUS'不同。 – coms 2012-02-23 08:40:41
好吧..「正在兩次如何優化它謝謝..」讓我覺得可能有重複的記錄。 – pavanred 2012-02-23 08:43:13