일부 도움주세요? SQL을 작성하는 방법을 배우기 시작한 멍청한 놈.이 문제에 부딪쳤다. 나는 MAX
기능을 사용하는 방법을 안다.하지만이 모든 요구 사항을 함께 결합하는 방법을 알 수 없다. Accounts
및 Books
찾고 : : 나는테이블 및 최대 기능을 결합한 SQL Oracle
Accounts
ID Series YesorNot Dated Filed Plan Year
1 123 Yes 06/12/2015 2015
2 123 No 06/12/2015 2015
3 145 Yes 06/06/2015 2015
4 145 No 02/02/2015 2014
5 198 Yes 02/03/2015 2015
6 187 Yes 02/14/2013 2013
7 153 Yes 01/02/2011 2011
Books
Primary Key Date Created ID
1 06/13/2015 123
2 06/12/2015 123
3 06/07/2015 145
4 02/02/2015 145
5 02/03/2015 198
두 테이블 (아래 데이터의 예입니다) 두 개의 테이블, Accounts
및 Books
이
프로젝트 ID로 두 테이블에 존재 1. 데이터 = 기본 키
2. 하나만의 unqiue 시리즈 (시리즈도 ID)
3. 계획 연도의 값이 가장 최근 값인 MAX
을 입력하고 계획 연도와 중복되는 값이있는 경우 MAX
(가장 최근의) 값. 당신은 할 수 있었어야
SELECT B.Primary_Key as Project_ID, A.Series, A.YesorNot, A.Date_Filed, A.Plan_Year
FROM Books B
JOIN Accounts A ON B.ID = A.Series
:
Project ID Series YesorNot Dated Filed Plan Year
1 123 Yes 06/12/2015 2015
3 145 Yes 06/06/2015 2015
4 145 No 02/02/2015 2014
5 198 Yes 02/03/2015 2015
임시 테이블 세트를 만들지 않고 가능한 출력이 적은 상황 (조건 3으로 인해)은 어렵습니다. YesOrNot = No 인 경우 동일한 계획 연도가있는 계정의 동일한 계열에 대해 항상 여러 행을 나타냅니다. –
"Project ID = Primary Key로 두 테이블에 모두 존재하는 데이터"란 무엇을 의미합니까? 프로젝트 ID 란 무엇입니까? 그렇다면 - 첫 번째 테이블의 Series와 두 번째 테이블의 ID가 일치하는 두 개의 테이블이 아닌가? 한 쌍 이상의 열에 "일치하는"테이블이 없기를 바랍니다. – mathguy
@ BenHamilton - 분석 함수에 익숙하십니까? – mathguy