나는이Access SQL에서 met 기준에 따라 한 행만 반환하는 방법은 무엇입니까?
CUSTID POLICY TYPE RANDOMTHING ETC
처럼 보인다 그리고 때로는 그렇지 않으면 나머지 필드에 대해 서로 다른 값을 CUSTID 당 다중 행을있을 것입니다 데이터가 있습니다. CUSTID 당 하나의 행만 반환하고 첫 번째 행의 값만 가져옵니다 (나머지는 무시함).
먼저 CUSTID를 적용 해 보았지만 작동하지 않습니다.
나는이Access SQL에서 met 기준에 따라 한 행만 반환하는 방법은 무엇입니까?
CUSTID POLICY TYPE RANDOMTHING ETC
처럼 보인다 그리고 때로는 그렇지 않으면 나머지 필드에 대해 서로 다른 값을 CUSTID 당 다중 행을있을 것입니다 데이터가 있습니다. CUSTID 당 하나의 행만 반환하고 첫 번째 행의 값만 가져옵니다 (나머지는 무시함).
먼저 CUSTID를 적용 해 보았지만 작동하지 않습니다.
난 당신이 예에서
SELECT t1.*
FROM yourTable t1 INNER JOIN
(
SELECT CUSTID, MIN(POLICY) AS MinOfPOLICY
FROM yourTable
GROUP BY CUSTID
) t2 ON t1.CUSTID = t2.CUSTID AND t1.POLICY = t2.MinOfPOLICY
ORDER BY 1
같은 것을 할 생각 t1
및 t2
테이블 별칭이다. 같은 테이블을 두 번 이상 참조하는 쿼리를 생성 할 때 대부분의 경우 열 참조를 명확히하려면 테이블 별칭이 필요합니다. 예를 들어, CUSTID
이라고 말하면 안됩니다. 이 yourTable
의 첫 번째 인스턴스인지, 두 번째 인스턴스인지 여부가 명확하지 않기 때문입니다.
yourTable t1
은 별칭을으로 사용하여 "yourTable
"을 의미하므로 테이블 이름 뒤에 바로 별칭을 지정하여 테이블에 별칭을 지정할 수 있습니다. 다른 별칭 인 t2
은 GROUP BY
하위 쿼리 (대괄호 안에있는 하위 쿼리)의 별칭입니다.
입니다. 나에게 좋은 추측처럼 보입니다. :-) 그게 그가하는 일이 아니라면 그는 표본 데이터와 표본에서 원하는 출력을 보여 주어야합니다. – HansUp
@HansUp [TYPE]은 암시 적 정렬의 유일한 후보였습니다. Sort on RANDOMTHING이 최상의 선택이 아닌 것처럼 보였습니다 .... :) –
여기 t1과 t2는 무엇인지 이해가 안됩니까? 또는 "yourTable t1"을 구문 분석하는 방법. 내 쿼리 이름이 MyQuery라고 말하십시오. –
검색어의 일부로 'TOP 1'술어를 사용해 보셨습니까? (나는 당신이 SQL 문을 쓰고 있다고 가정하고있다). –
"TOP 1"은 어떻게합니까? 그리고 네, 나는 SQL 문을 편집 할 수 –
봤 거든이게 내가 필요하다고 생각하지 않습니다. 내 데이터 집합의 맨 위 행만 반환합니다. CUSTID 당 "최상위"행이 필요합니다 (실제로 연습 내 CUSTID는 두 번째 필드와 같습니다) –