加入查询帮助

时间:2010-05-11 15:32:28

标签: php mysql join

以下查询效果很好。它从两个MySQL表中提取数据,“提交”和“登录”。我还想在同一个数据库中从第三个名为“comment”的表中提取数据。

表“comment”包含以下字段:

commentid, loginid, submissionid, comment, datecommented

表“login”中的两个字段称为“loginid”和“username”。

在下面的查询中,我想在“评论”中计算所有“commentid”,其中“loginid”等于“login”中的“loginid”,其中“username”等于“$ profile”。

我该怎么做?

提前致谢,

约翰

$sqlStr1 = "SELECT l.username, l.loginid, s.loginid, s.submissionid, s.title, s.url, s.datesubmitted, s.displayurl, l.created, count(s.submissionid) countSubmissions
               FROM submission AS s
         INNER JOIN login AS l
                 ON s.loginid = l.loginid
              WHERE l.username = '$profile'";

2 个答案:

答案 0 :(得分:0)

我会使用单独的查询,它可能最终会更快地执行1个复杂的查询。

答案 1 :(得分:0)

SELECT l.username, l.loginid, s.loginid, 
    s.submissionid, s.title, s.url, s.datesubmitted, s.displayurl, l.created, count(s.submissionid) AS countSubmissions
FROM submission AS s LEFT JOIN login AS l USING(loginid)
WHERE l.username = '$profile'
GROUP BY loginid;