이 질문과 관련이 있습니다. 여러 테이블을 조인하면 행이 중복됩니다.
가입 할 테이블이 두 개 있습니다. 그들은 열쇠를 공유합니다. 개인 테이블에는 기본 키당 하나의 이름이 있지만 전자 메일 테이블에는 personId 당 여러 전자 메일이 있습니다. 한 사람당 첫 번째 이메일 만 표시하고 싶습니다. 현재 여러 이메일이 있기 때문에 한 사람당 여러 행을 얻습니다. SQL-Server 2005를 실행 중입니다.
편집 : 이것은 T-SQL입니다. 첫 번째 이메일은 말 그대로 개인당 첫 번째 이메일 행입니다.
편집 2 : 내가 본 첫 번째 전자 메일은 SQL이 쿼리를 통해 작동 할 때 조인에 나타나는 첫 번째 전자 메일 행입니다. 어떤 이메일이 표시되는지는 중요하지 않습니다. 하나의 이메일 만 표시됩니다. 그것이 더 명확 해지기를 바랍니다.
Table1: Person
Table2: Email
Select Person.PersonName, Email.Email
From person
left join on Person.ID=Email.PersonId;
3
"첫 번째"이메일은 무엇을 의미합니까? 어떤 정렬 기준이 "첫 번째"를 결정합니까?
—
대기열 Mann
당신은 최고 1을 시도 했습니까?
—
Racer SQL
어떤 DBMS를 사용하고 있습니까? Postgres? 신탁?
—
a_horse_with_no_name
"사람마다 첫 번째 이메일 행은" 정말 우리에게 아무것도 말하지 않습니다. 어떤 기준으로 "첫 번째"? SQL 테이블에는 고유 한 순서가 없습니다.
—
ypercubeᵀᴹ
글쎄, 그것은 하나의 유효한 기준입니다.
—
ypercubeᵀᴹ