สิ่งนี้เกี่ยวข้องกับคำถามนี้: การรวมผลลัพธ์หลาย ๆ ตารางเข้าด้วยกันเป็นแถว
ฉันมีสองตารางที่ฉันเข้าร่วม พวกเขาแบ่งปันกุญแจ ตารางบุคคลมีชื่อหนึ่งชื่อต่อคีย์หลัก แต่ตารางอีเมลนั้นมีหลายอีเมลต่อ 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ᵀᴹ