2017-03-20 3 views
0

이 질문에 대한 변형이 발견되었지만 아무 것도 작동하지 않는 것으로 보입니다 (또는 올바르게 보지 못했습니다). 나는 여전히 SQL을 배우고 있으므로 나와 함께 견뎌주십시오.SQL Left Outer Join하지만 최대 날짜 만 가져옴

두 개의 테이블을 가지고 있습니다. 나는 테이블 C의 모든 레코드와 테이블 P와 일치하는 레코드만을 원합니다. 그래서 왼쪽 외부 조인을 가정합니까?

나는 두 테이블에서 모든 열을 원하고 표 P. 표 C에서 "PARTNO"와 "ITEMNO '에 합류한다

나를 위해 까다로운 부분이 가입과 함께, 내가 찾고 있다는 것입니다 표 P의 날짜 (PDate)를 기준으로 최신 "ItemNo"만 가져옵니다.

미리 감사드립니다!

+0

당신이 원하는 무엇을 적용 외부로 수행 할 수 있습니다,하지만 당신은 테이블을 얻을 수 PARTNO 절에 의해 그룹과 테이블 P에 하위 쿼리와 테이블 C에 가입해야합니다 당신은에 가입해야합니다. 보다 정확한 해결책을 원한다면 더 자세한 정보 (데이터베이스 유형) 등을 제공해야합니다. – ozborn

+0

이들은 SQL Server의 두 테이블입니다. 사용자 정의 SQL 기능을 사용하여 Tableau Desktop에 대한 결합을 시도하고 있습니다. – Rosadocc

+0

여기 SQL Server에 대한 액세스 권한이 없지만 테이블에서 왼쪽 집계 조인은 아마도 테이블에서 집계 값을 원하지 않으면 이동하는 방법 일 것입니다. P. – ozborn

답변

1

이는 왼쪽 가입

select * 
    from TableC c 
    outer apply (
     select top 1 * 
      from TableP 
       where itemno = c.partno 
       order by pdate desc 
    ) p 
+0

고마워요! 나를 위해 잘 해줬습니다. – Rosadocc

+0

@Rosadocc 아무 문제 없어, 다행 했어. – KindaTechy