これはこの質問に関連しています: 複数のテーブルを結合すると重複した行が発生します
参加しているテーブルが2つあります。彼らは鍵を共有します。personテーブルには主キーごとに1つの名前がありますが、emailテーブルにはpersonIdごとに複数のメールがあります。1人あたりの最初のメールのみを表示します。現在、メールが複数あるため、1人に複数の行が表示されます。SQL-Server 2005を実行しています。
編集:これはT-SQLです。最初のメールは文字通り、1人あたりの最初のメール行です。
編集2:最初の電子メールは、SQLがクエリを処理するときに結合に表示される最初の電子メール行になります。どのメールが表示されるかは関係ありません。表示されるメールは1つだけです。それがより明確になることを願っています。
Table1: Person
Table2: Email
Select Person.PersonName, Email.Email
From person
left join on Person.ID=Email.PersonId;
3
「最初の」メールとはどういう意味ですか?「最初」を決定するソート基準は何ですか?
—
Queue Mann
トップ1を試しましたか?
—
Racer SQL
どのDBMSを使用していますか?Postgres?Oracle?
—
a_horse_with_no_name 2015年
「一人あたりの最初のメールの行は、」本当に私たちには何も教えてくれありません。どのような基準で「最初に」?SQLテーブルには固有の順序はありません。
—
ypercubeᵀᴹ
まあ、それは1つの有効な基準です。「どの行も気にしない、1つだけ」。
—
ypercubeᵀᴹ