我有三个表safe_workers, safe_companies and safe_customers,用于存储不同的帐户类型。登录后,我需要一个查询来查找所有三个表中的LoginEmail和LoginPassword列,并根据登录页面传递的登录表单返回匹配项。

我是MySQL的初学者,尝试了以下操作,但显然返回了错误。

select safe_companies.LoginEmail,ID
from safe_companies,safe_customers
WHERE LoginEmail='.$_POST[InEmail].' AND LoginPass= '.$_POST[InPass].'


我不想比较表只是想匹配

最佳答案

如果我很好地理解了您的问题:

您正在寻找的是http://dev.mysql.com/doc/refman/5.0/en/join.html

如果两个表都有一个名为LoginEmail的列。

SELECT
    sco.LoginEmail
FROM
   safe_companies AS sco
INNER JOIN
    safe_customers AS scu ON (sco.LoginEmail = scu.LoginEmail)
WHERE
    sco.LoginEmail = '" . $_POST['InEmail'] . "' AND
    scu.LoginPass = '" . $_POST['InPass'] . "'


如果没有,请提供更多信息,例如表结构。

10-08 18:11