从两个表中选择值mysql
问题描述:
我有2个表accounts
和confirm_email
。 confirm_email
有一个叫做code
和accounts
列有列名为email
,他们都有一列称为account_name
我想选择confirm_email
的code
和email
从accounts
其中account_name
的价值是相同和等于具体的价值。所以basicaly我想这两个命令对应的结合:从两个表中选择值mysql
SELECT email FROM accounts WHERE account_name = 'value';
SELECT code FROM confirm_email WHERE account_name = 'value';
我尝试这样做:
SELECT code, email FROM confirm_email, accounts WHERE accounts.account_name = 'value';
但返回的所有代码在code
柱与email
corrosponding到repeaded每个code
值正确code
。任何想法如何将两个查询合并为一个正确的?谢谢阅读。
答
SELECT c.code, a.email
FROM confirm_email c join accounts a on a.account_name = c.account_name
WHERE a.account_name = 'value';
当您加入两个表时,您需要设置加入条件。
旧式(无连接关键字):
SELECT c.code, a.email
FROM confirm_email c, accounts a
WHERE a.account_name = c.account_name
and a.account_name = 'value';
答
试试这个内部联接
SELECT confirm_email.code, accounts.email
FROM confirm_email inner join accounts
ON confirm_email.account_name = accounts.account_name
WHERE accounts.account_name = 'value';
没错的作品。非常感谢 – user2014429 2014-12-06 22:33:06