我的数据库中有两个表。 “ A”表是存储用户主要信息的主表,其他“ B”表用于存储用户要在其个人资料中添加其他地址的表。

两个表的结构(具有相同名称的公用列)如下图所示,除了一些差异列(未在此图片中显示)



现在我要显示存储在表A和表B中的地址

我在下面使用查询,但是所有这些仅返回表B中的值

查询1:

Select t1.(star),t2.(star) from `b` t2 , `a` t1 WHERE t1.emailbc = ?;


查询2:

Select t1.(star),t2.(star) from `a` t1
INNER JOIN `b` t2 ON (a.emailbc=b.emailbc)
WHERE t1.emailbc = ?


我也尝试了NATURAL Join,但这也不起作用。请让我知道解决方法。

最佳答案

如果要在一个列中显示所有地址,但来自两个表,则需要使用UNION。尝试这个:

SELECT *
FROM table1
WHERE emailbc = ?
UNION
SELECT *
FROM table2
WHERE emailbc = ?

10-08 11:26