我想知道是否有可能從別名2和獨立的表2列同名。別名2列同名
例如,我想加入一個用戶表和管理員表中的電子郵件表,讓各自的「名稱」列在同一列相結合。
Email Table: Email ID | Email Address
User Table: Username| Email ID
Admin Table: Username| Email ID
Result:
Username | Email Address
我想知道是否有可能從別名2和獨立的表2列同名。別名2列同名
例如,我想加入一個用戶表和管理員表中的電子郵件表,讓各自的「名稱」列在同一列相結合。
Email Table: Email ID | Email Address
User Table: Username| Email ID
Admin Table: Username| Email ID
Result:
Username | Email Address
我相信這是你想要得到什麼:
SELECT a.Username, a.Email_ID, b.Email_Address
FROM
(SELECT Username, Email_ID FROM User
UNION ALL
SELECT Username, Email_ID FROM Admin) a
INNER JOIN Email b ON b.Email_ID = a.Email_ID
這將堆疊User
和Admin
表,然後JOIN
的Email
表。
注意,如果有重複,你想刪除它們,你應該使用的UNION
代替UNION ALL
。
假設你的表有以下幾列
Email: EmailId, EmailAddress
User: UserName, EmailId
Admin: UserName, EmailId
那麼下面工會應該讓他們進入一個列表。注意我正在使用LEFT JOIN來允許用戶或管理員表中的EmailId無效的情況
SELECT u.UserName, e.EmailAddress
FROM USER u
LEFT JOIN Email e ON e.Id = u.EmailId
UNION
SELECT a.UserName, e.EmailAddress
FROM Admin u
LEFT JOIN Email e ON e.Id = a.EmailId
所以你希望這些列是分開的,但要有相同的名稱,或者你想要它們完全合併以及? – RonaldBarzell
@ user1161318完全合併,好像UNION是,我一直在尋找神奇的關鍵字。 – Klathmon