从两个表中选择值mysql

问题描述:

我有2个表accountsconfirm_emailconfirm_email有一个叫做codeaccounts列有列名为email,他们都有一列称为account_name我想选择confirm_emailcodeemailaccounts其中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'; 
+0

没错的作品。非常感谢 – user2014429 2014-12-06 22:33:06

试试这个内部联接

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';