2014-10-03 1 views
0

SQL Server로 뷰를 가져 오려는 MS Access에서 아름답게 작동했던 쿼리가 있습니다. 문제는 다른보기에서 값을 얻는 두 필드입니다. 이러한 뷰는 완벽하게 정상적으로 작동합니다. 나는 두 개의 필드를 가져 와서 그들로부터 백분율 등급을 얻으려고 노력하고 있습니다. 쿼리 종류는 다음과 같습니다.SQL Server가 아닌 Access에서 별칭이 작동합니다.

SELECT dbo.v_IPQueryTotal, 
    GEOLOC.City, 
    GEOLOC.State, 
    dbo.v_IPQueryTotal   AS [Total], 
    dbo.v_IPHits    AS [Confirmed], 
    [Confirmed]/[Total] * 100 AS Percentage 
FROM GEOLOC, 
    v_IPQueryTotal; 
+1

'dbo.v_IPQueryTotal'이 테이블 이름이고 열 이름이 아니기 때문에 어느 데이터베이스에서도 쿼리가 작동하지 않습니다. –

+0

보기 내의 필드 대신 전체보기를 선택하는 것처럼 보입니다. 'dbo.v_IPQueryTotal'은'dbo.v_IPQueryTotal.SOMETHING'이어야합니다. –

+0

죄송합니다. 잘못 쓰셨습니다. 들판을 포함하는 것을 잊었다, 나 나쁨. 그래서 내가 당신에게 수정 된 코드를 제공하자 : – bbcompent1

답변

0

SQL Server를 사용하여 동일한 문 내에서 열 별칭을 참조 할 수 없습니다. 이 같은 직접 열을 참조해야합니다

SELECT 
    tmp.*, 
    tmp.Confirmed/tmp.Total * 100 AS Percentage 

FROM 
(
    SELECT 
     dbo.v_IPQueryTotal, 
     GEOLOC.City, 
     GEOLOC.State, 
     dbo.v_IPQueryTotal.AllHits AS [Total], 
     dbo.v_IPHits.IPHitCount AS [Confirmed] 

    FROM 
     GEOLOC, v_IPQueryTotal 
) tmp 

이 실제로 어떤 조건이 너무 거기에 정의 된 조인 :

SELECT 
    dbo.v_IPQueryTotal, 
    GEOLOC.City, 
    GEOLOC.State, 
    dbo.v_IPQueryTotal.AllHits AS [Total], 
    dbo.v_IPHits.IPHitCount AS [Confirmed], 
    dbo.v_IPHits.IPHitCount/dbo.v_IPQueryTotal.AllHits * 100 AS Percentage 

FROM 
    GEOLOC, v_IPQueryTotal 

또 다른 해결책은 내부 파생 테이블을 사용하여 외부 쿼리에서 자신의 열을 참조하는 것입니다 이것은 당신이 기대하지 않을 수도있는 데카르트 제품을 만들어 낸다.

+0

실제로 조인이 있고 내가하고있는 쿼리는 훨씬 더 복잡합니다. 나는 가슴 앓이로 그 비율을 계산하는 방법을 알아 내려고했습니다. :) – bbcompent1

+0

아, 좋아. 저와 다른 사람들이이 질문을하는 사람들에게 분명히하기 위해서 : 제 제안이 도움이 되었습니까? –

+0

네, 확실히 그랬습니다. 나는보기에 올바르게 부르지 않아서 슬픔을 낳았습니다. – bbcompent1

관련 문제