정말 간단한 쿼리 인 것 같지만 분명히 뭔가 빠져 있어야합니다. 이 시나리오가 꽤 일반적이라고 가정합니다.Oracle/SQL에서 기본 쿼리의 테이블과 조인을 수행하는 동안 인라인 뷰를 사용하여 상위 n 개를 가져 오는 방법은 무엇입니까?
제품을 저장하는 테이블과 트랜잭션을 저장하는 테이블이 있습니다. 거래 테이블에는 세일즈맨에 대한 정보가 있습니다. 이제 모든 제품을 나열하고이 제품을 마지막으로 판매 한 영업 사원의 ID를 포함하는 보고서를 작성해야합니다.
내가 같은 간단한 쿼리를 시도 : 가선택 이드 PRODUCT_NAME가 에서 (선택 salesman_id는 (트랜스 에서 salesman_id 을 선택 여기서 PRODUCT_ID = a.id TRANS_DATE 내림차순 의해 순서) 여기서 ROWNUM = 1) salesman_id 제품에서
이 쿼리는 잘못된 식별자를 a.id에서 받았습니다.
그래서 그물을 검색 한 후, LATERAL 절을 추가하려고했습니다. 추천
가 선택 이드 PRODUCT_NAME가 는, 횡 제품에서 을 salesman_id 다음 (트랜스 에서 salesman_id 을 선택 ( 에서 salesman_id을 선택 여기서 TRANS_DATE 내림차순 의해 PRODUCT_ID = a.id 순서) ROWNUM = 1)
하지만이 쿼리는 불완전한 SQL 문을 제공합니다.
단일 쿼리에서이 작업을 수행하는 간단한 방법이 있습니까?
이것은 요 u : http://sqlfiddle.com/을 사용하여 예제를 작성하십시오. 불완전한 SQL을 작성했다는 것을 감안할 때, 해결 될 때,'top 5 * from()'또는 무언가를 제한하기 위해 왜하지 않겠습니까? – Fallenreaper