我遇到了 MySQL 的问题。
我有 2 个表:
Table A Table B
userId userId
name email
email
这是一个1->N的关系(1个用户在B表中可以有多个邮箱)
现在我想将我的用户导入邮件程序,我想在 1 个查询而不是多个查询中进行。
我想要的是以下内容:
用户名、姓名、邮箱
例如:
1 , John Doe , xxx@gmail.com (This email comes from Table A)
1 , John Doe , zzz@hotmail.com (This email comes from Table B)
目前我有以下查询返回多行但问题是字段不相同
我得到类似的东西:
Table A.name , Table A.email , Table B. email etc ..
SELECT
jos_users.userId,
jos_members_webAddress.email2,
jos_users.uniqueId,
jos_users.firstName,
jos_users.lastName,
jos_users.username,
jos_users.email
FROM
jos_users
INNER JOIN jos_members_webAddress ON jos_users.userId = jos_members_webAddress.memberId
感谢帮助
最佳答案
您问题的字面答案:
SELECT userId, name, email
FROM tableA
UNION
SELECT tableB.userId, tableA.name, tableB.email
FROM tableA
JOIN tableB ON tableA.userId = tableB.userId
更好地回答你的问题,除非你能在评论中给出我的第一 react 并给出可靠的答案:
从tableA
中删除email
,让tableB
中的所有email,那么就是UNION<下面的部分答案
.
关于mysql - 加入 mysql 表并获取多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542763/