我有2个表accounts
和confirm_email
。 confirm_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
都有效。有关如何将两个查询正确组合成一个的任何想法?谢谢你的阅读。
答案 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';