从两个表mysql中选择值

时间:2014-12-06 22:22:41

标签: mysql sql

我有2个表accountsconfirm_emailconfirm_email有一个名为code的列,accounts有一个名为email的列,他们都有一个名为account_name的列我试图选择{{1}来自code的{​​{1}}和来自confirm_email的{​​{1}},其中email的值在两者中都相同且等于特定值。所以我基本上想要结合这两个命令:

accounts

我试过了:

account_name

但这会返回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都有效。有关如何将两个查询正确组合成一个的任何想法?谢谢你的阅读。

2 个答案:

答案 0 :(得分:3)

SELECT c.code, a.email 
FROM confirm_email c join accounts a on a.account_name = c.account_name
WHERE a.account_name = 'value';

当您加入两个表时,您需要设置一个连接条件。

旧式(没有JOIN关键字):

SELECT c.code, a.email 
FROM confirm_email c, accounts a
WHERE a.account_name = c.account_name 
  and a.account_name = 'value';

答案 1 :(得分:1)

试试这个内连接

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';
相关问题