2012-01-11 63 views
0

我有兩個表格:COMMENTSUSERS。我將用戶名保存在COMMENTS表中,但用戶的頭像詳細信息應取自USERS表。多次查詢多個表格

SELECT c.id, c.tarih, c.yorum, c.yorumcu, 
(SELECT avatarID FROM USERS WHERE Username=c.yorumcu) AS avatarID 
FROM COMMENTS c WHERE c.id = ? 

最後的問號被替換爲NEWS_ID。 (例如news.php?id=5

我設法對此進行編碼,但它只從數據庫獲取「最後評論」的詳細信息,而不是全部。 (假設有5人在頁面上發表評論,它只會得到最後一條(第5條)評論,而忽略其餘部分。)

任何人都可以幫我嗎?

Ps。 Yorumcu的意思是「評論者」。 COMMENTS.CommenterUSERS.Username是一樣的。

回答

2

如果您的WHERE子句不是「WHERE c.news_id =?」,而不是「WHERE c.id =?」 ?我假設c.id對每個評論都是獨一無二的。

+0

現在我覺得很蠢。非常感謝。我正在檢查評論ID而不是news_id。即將發瘋... – Aristona 2012-01-11 08:41:26

0

試試這個:

select c.id, c.tarih, c.yorum, c.yorumcu, avatarID 
FROM COMMENTS,USERS 
where USERS.Username=c.yorumcu and c.id = ? 
+0

感謝您的努力。在將c.id更改爲c.news_id後,上面的查詢就像一個魅力。 – Aristona 2012-01-11 08:42:10

0

我認爲COMMENTS.id是表註釋唯一標識符?

如果是這樣的話,那是邏輯,你只能得到1條評論。

您在COMMENTS表中是否有NEWSID的標識符? 然後你應該使用這個來檢索多個評論。