2016-09-27 155 views
-1

Sql服務器沒有像MS Access這樣的First()函數。所以,我將如何轉換這個查詢在SQL ServerMS Access查詢到SQL Server

SELECT 
First([MyTable].Col1) AS Col1, 
First([MyTable].Col2) As Col2, 
First([MyTable].Col3) As Col3, 
First([MyTable].Col4) As Col4, 
First([MyTable].Col5) As Col5, 
First([MyTable].Col6) AS Col6, 
[MyTable].Col7 INTO [MyTable2] 
FROM [MyTable] 
WHERE ((([MyTable].OtherCol1)='S') AND (([MyTable].OtherCol2) Is Null)) 
GROUP BY [MyTable].Col7 
HAVING ((([MyTable].Col7) Is Not Null Or ([MyTable].Col7)<>' ')); 
+0

如果你想使用第一個()函數的工作?所有列? – Poonam

+0

oops ...讓我糾正這個問題 – Eminem

+0

@Eminem當你按col7分組時你想要其他列的MIN,MAX或does not matter?老實說...... – NEER

回答

0
SELECT 
min([MyTable].Col1) AS Col1, 
min([MyTable].Col2) As Col2, 
min([MyTable].Col3) As Col3, 
min([MyTable].Col4) As Col4, 
min([MyTable].Col5) As Col5, 
min([MyTable].Col6) AS Col6, 
[MyTable].Col7 
INTO [MyTable2] 
FROM [MyTable] 
WHERE ((([MyTable].OtherCol1)='S') AND (([MyTable].OtherCol2) Is Null)) 
GROUP BY [MyTable].Col7 
HAVING ((([MyTable].Col7) Is Not Null Or ([MyTable].Col7)<>' ')); 
+0

爲什麼使用Min函數? – Eminem

+0

如果你想要的數據與所有在哪裏有條件相關,分組並且有那麼要麼我們需要使用min或max否則你需要按照inn7循環中的Col7對數據進行分組,並且在外循環中需要添加所有的條件包括在哪裏和有條款 – Poonam