2014-06-13 1 views
0

안녕하십니까, 다음 쿼리는 Access 2010에서는 작동하지만 SQL Server 2012에서는 작동하지 않습니다. 오류가 발생합니다. '각 GROUP BY식이 적어도 하나 이상의 외부 참고'. 내 연구에서 리터럴에 의해 쿼리 그룹 때문입니다. 어떻게 왜도에 의해 그룹을 필요합니까리터럴 그룹은 Access 2010에서 작동하지만 SQl Server 2012에서는 작동하지 않습니다.

SELECT 
1 AS ID, Sum([Meds].TotalMeds) AS TotalMeds, 
Sum([Meds].Presc) AS Presc 
INTO Stats_Meds 
FROM 
[Meds], Rounds 
WHERE 
((([Meds].Round)<[Rounds].[Round])) 
GROUP BY 
1; 

감사

+0

해야 할 일로이 그룹이 무엇입니까? – Brad

답변

1

SQL Server의 동일한 결과를 얻을 수 있습니까? 왜 그냥 사용하지 :

SELECT Sum(Meds.TotalMeds) AS TotalMeds, Sum(Meds.Presc) AS Presc 
INTO Stats_Meds 
FROM Meds, Rounds 
WHERE Meds.Round < Rounds.Round 
+0

그 트릭을했다. – maggs

1

나는 당신이 통계 테이블에 삽입하는 ID를 추측하고있다. 이 쿼리가 작동하는지 확인하십시오. 면책 조항 (유권자 용) : 본인은 성능에 대해이 쿼리를 테스트하지 않았거나 실제로 OP에 사용할 수있는 제안만을 쿼리를 실행했습니다. 의무병 FROM FROM 는 (ID, Meds.TotalMeds AS SELECT 1

SELECT ID, SUM (WithId.TotalMeds) Stats_Meds INTO SUM (WithId.Presc) , Rounds.Presc , 발사 WHERE Meds.Round < 발사

은 의무병 FROM Stats_Meds INTO TotalMeds, Presc AS 합계 (Meds.Presc) AS (1), 합계 (Meds.TotalMeds)를 선택 반올림 -

이 또는 당신이 단지 수있는 ID에 의해 .Round) WithId GROUP 어디 Meds.Round < Rounds.Round

관련 문제