2010-05-19 84 views
0

下面的查詢工作得很好。它從兩個MySQL表中提取字段,「評論」和「登錄」。它爲表「login」中的「username」等於變量「$ profile」的行執行此操作。它還爲表中「commentid」中的「loginid」等於也從「登錄」拉出的「loginid」的行提取字段。將第三個表添加到兩個表的聯接查詢

我想從所謂的第三個表「提交」,它具有以下字段提取數據:

submissionid loginid title url displayurl datesubmitted 

我想從「提交」行拉場,其中「登錄ID」等於「loginid」已經從另外兩張表中拉出來,「login」和「comment」。

我該怎麼做?

由於提前,

約翰

查詢:

$sqlStrc = "SELECT l.username, l.loginid, c.loginid, c.commentid, c.submissionid, c.comment, c.datecommented 
       FROM comment AS c 
     INNER JOIN login AS l 
       ON c.loginid = l.loginid 
       WHERE l.username = '$profile' 
      ORDER BY c.datecommented DESC 
       LIMIT 10"; 
+1

我看你發現很多我的回答對您有重複的問題非常有用,但沒有給予好評! http://stackoverflow.com/questions/2853318/join-with-three-tables – webbiedave 2010-05-19 20:05:47

+0

嗨戴夫...我感謝你的幫助,但它沒有讓我對我的最後一個問題非常遙遠。我在這裏發佈的是我在發佈最後一個問題之前使用的內容。 – John 2010-05-19 20:10:27

回答

3
SELECT l.username,l.loginid,c.loginid,c.commentid,c.submissionid,c.comment, 
c.datecommented,s.submissionid,s.loginid,s.title,s.url,s.displayurl,s.datesubmitted 

FROM comment AS c 

INNER JOIN login AS l ON c.loginid = l.loginid 
INNER JOIN submission AS s ON s.loginid = l.loginid 

WHERE l.username = '$profile' 

ORDER BY c.datecommented DESC 

LIMIT 10 
相關問題