我遇到了MySQL问题。
我有两张桌子:
Table A Table B
userId userId
name email
email
这是一个关系1-> N(1个用户可以在表B中有多个电子邮件)
现在我想将我的用户导入邮件程序,我希望在1个查询中进行,而不是多个查询。
我想要的是以下内容:
用户ID,姓名,电子邮件
前:
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
感谢您的帮助
答案 0 :(得分:4)
您问题的字面答案:
SELECT userId, name, email
FROM tableA
UNION
SELECT tableB.userId, tableA.name, tableB.email
FROM tableA
JOIN tableB ON tableA.userId = tableB.userId
更好地回答你的问题,除非你能在评论中给出我的第一个回答,并给出一个可靠的答案:
从email
删除tableA
,将所有电子邮件都放在tableB
中,然后它只是UNION
下方答案的一部分。