从mySQL PHP的两个表中获取数据

时间:2015-05-20 18:11:08

标签: php mysql join

我的数据库中有两个表。如果用户想要在他们的个人资料中添加一些额外的地址,“A”表是存储用户主要信息的主表和其他表“B”商店。

两个表的结构(具有完全相同名称的公共列)如下图所示,除了本图中未显示的一些差异列

enter image description here

现在我要显示存储在表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 = ?

我也尝试了自然加入,但这也不起作用。请让我知道解决方案。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

将您的加入查询更改为以下内容。

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