对SQL Server的MS Access查询

对SQL Server的MS Access查询,sql,sql-server,ms-access,Sql,Sql Server,Ms Access,Sql server没有像MS Access那样的First()函数。那么,如何将此查询转换为在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)

Sql server没有像MS Access那样的First()函数。那么,如何将此查询转换为在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)<>' '));
选择
第一个([MyTable].Col1)作为Col1,
第一个([MyTable].Col2)作为Col2,
第一个([MyTable].Col3)作为Col3,
第一个([MyTable].Col4)作为Col4,
第一个([MyTable].Col5)作为Col5,
第一个([MyTable].Col6)作为Col6,
[MyTable].Col7到[MyTable2]
从[MyTable]
其中(([MyTable].OtherCol1)='S')和([MyTable].OtherCol2)为空)
分组依据[MyTable].Col7
具有(([MyTable].Col7)不为Null或([MyTable].Col7');
选择
min([MyTable].Col1)作为Col1,
min([MyTable].Col2)作为Col2,
min([MyTable].Col3)作为Col3,
min([MyTable].Col4)作为Col4,
min([MyTable].Col5)作为Col5,
min([MyTable].Col6)作为Col6,
[MyTable].Col7
进入[我的表2]
从[MyTable]
其中(([MyTable].OtherCol1)='S')和([MyTable].OtherCol2)为空)
分组依据[MyTable].Col7
具有(([MyTable].Col7)不为Null或([MyTable].Col7');

您想在哪里使用first()函数?所有栏目?哎呀。。。让我纠正一下that@Eminem当您按col7分组时,您想要其他列的
MIN、MAX还是无关紧要的
。。。我不知道。所以我想我必须去,这没关系。到目前为止,我还不是MS Access专家,我只需要将查询转换为在sql server上运行“sql server没有第一个()函数”…但它确实有一个。为什么要使用Min函数?如果需要与where中的所有条件相关的数据,GROUPBY和having然后我们需要使用min或max,否则您需要在innner循环中按Col7对数据进行分组,在outer循环中需要添加where和having子句中包含的所有条件
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)<>' '));