Dies hängt mit dieser Frage zusammen: Das Verknüpfen mehrerer Tabellen führt zu doppelten Zeilen
Ich habe zwei Tische, an denen ich teilnehme. Sie teilen einen Schlüssel. Die Personentabelle hat einen Namen pro Primärschlüssel, aber die E-Mail-Tabelle enthält mehrere E-Mails pro Personen-ID. Ich möchte nur die erste E-Mail pro Person anzeigen. Derzeit erhalte ich mehrere Zeilen pro Person, da sie mehrere E-Mails hat. Ich verwende SQL-Server 2005.
EDIT: Dies ist T-SQL. Die erste E-Mail ist buchstäblich die erste E-Mail-Zeile pro Person.
Bearbeiten 2: Erste E-Mail, wie ich sehe, ist die erste E-Mail-Zeile, die im Join angezeigt wird, wenn SQL die Abfrage durcharbeitet. Es ist mir egal, welche E-Mail angezeigt wird. Nur dass nicht mehr als eine E-Mail angezeigt wird. Ich hoffe das macht es klarer.
Table1: Person
Table2: Email
Select Person.PersonName, Email.Email
From person
left join on Person.ID=Email.PersonId;
quelle
Antworten:
quelle
A
. Diese Tabelle enthält 3 Spalten (PersonName, Email, RN). Außerhalb der Klammern können Sie sieA.Email
genauso verwenden, wie Sie sietablename.columnname
für jede andere Tabelle in Ihrem Code verwenden können.Ich würde dafür eine äußere Bewerbung verwenden, ich finde sie besser lesbar.
quelle
Da es egal ist, welche E-Mail angezeigt wird. Ich denke, dass der folgende sehr direkt ist.
quelle
quelle