0
我在我的MySQL數據庫3個表:獲取線程掛標籤
- 的螺紋表(ID,標題)
- 的標籤表(ID,姓名)
- 數據透視表ThreadTags( tagID,threadID)
讓我們來承認我已經有數組$ tagIDs中的標籤ID,現在我想讓所有線程鏈接到所有這些標籤。我目前的解決方案是類似的東西:
$stmt = 'SELECT id, title FROM Threads'."\n";
foreach($tagIDs as $id) {
$stmt .= 'INNER JOIN ThreadTags T1 ON (T1.threadID = Thread.id AND T1.tagID = '.$id.')'."\n";
}
而且任何數量的標籤添加其他INNER JOIN
此表。
有沒有更好的方法?
注意:請像「使用的NoSQL數據庫」沒有回答,我不能改變,得益於
沒有做我想做的,它會給我掛標籤的至少一個全部線程,我只想鏈接到所有標籤線程(一種高精度在問題中)。 – 2010-06-23 13:22:58
對不起,我看錯了。我可能會這樣做,就像你做的一樣。但是如果你想進一步研究這個,也許你可以看看mysql的GROUP_CONCAT函數:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group- concat我認爲這是可能的,我會檢查一下,如果我發現somethig我會更新答案。 – klennepette 2010-06-23 13:58:40
謝謝。那很有意思。任何關於性能差異的想法? – 2010-06-23 18:44:45