2017-01-11 18 views
0

私は単純なMS Accessクエリを持っていますが、SQL Serverでのレプリケート方法はわかりません。MS Access SQLの最初の関数

SELECT tbl_XREF_MFG.[ITEM NUMBER], 
Count(tbl_XREF_MFG.CROSS_REFERENCE) AS CountOfCROSS_REFERENCE, 
First(tbl_XREF_MFG.CROSS_REFERENCE) AS FirstOfCROSS_REFERENCE 
FROM tbl_XREF_MFG 
GROUP BY tbl_XREF_MFG.[ITEM NUMBER]; 

SQL ServerにはFirst as関数はありませんが、FIRST_VALUEがありますが、動作させることはできません。ここに私が試したものがあります:

SELECT ([ITEM NUMBER]), 
Count(CROSS_REFERENCE) as CountOFCROSS_REFERENCE, 
FIRST_VALUE(CROSS_REFERENCE) OVER (ORDER BY CROSS_REFERENCE) as FirstOfCROSS_REFERENCE 
INTO #tmp1 
FROM tbl_XREF_MFG 
GROUP BY ([ITEM NUMBER]),CROSS_REFERENCE 

どうすればこの権利を得ることができますか?

+0

なぜあなたのグループは変更されましたか? – Hogan

+0

CROSS_REFERENCEを除外するとクエリを実行できません。 – Slavisha

+0

ええ、それをしないでください - 正しい結果を得る方法はありません。 – Hogan

答えて

0

これをサブクエリにすることができます。

SELECT tbl_XREF_MFG.*, 
     FIRST_VALUE(CROSS_REFERENCE) OVER (PARTITION BY ITEM_NUMBER ORDER BY CROSS_REFERENCE) AS FIRST 
FROM tbl_XREF_MFG 
+0

これは今動作するようです。ホーガンさんありがとうございました – Slavisha

+0

@Slavisha - あなたは大歓迎です。 – Hogan