2010-05-11 61 views
0

以下查詢運作良好。它從兩個MySQL表中提取數據,「提交」和「登錄」。我想從同一個數據庫中的第三個名爲「comment」的表中提取數據。加入查詢幫助

表「意見」具有以下字段:「用戶名」

commentid, loginid, submissionid, comment, datecommented 

在表中的字段中的兩個「登錄」被稱爲「登錄ID」和

在下面的查詢中,我要計算「評論」中的所有「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'"; 
+0

您確定查詢按預期工作嗎?它包含'count(s.submissionid)'和SELECT中的很多其他字段,但沒有GROUP BY。 – newtover 2010-05-11 15:52:47

回答

0

我會用一個單獨的查詢,它最終可能會更快地執行是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;