0
我有一個內容表,可以有不同的評論和標籤結果長度與每行相關聯。我不確定如何一次性獲取所有這些內容的信息。加入具有不同長度的評論和標籤的內容項目:D
我可以很容易地做一個查詢來獲取內容信息(id)和查詢每個表的註釋和標籤,但是這似乎沒有多少意義,如果有更好的方法。
任何提示或建議? 在此先感謝!
托馬斯
我的查詢到目前爲止是這樣的:
SELECT c.*, GROUP_CONCAT(tagWords.tagWord SEPARATOR ', ') AS tags FROM platform.contents c
LEFT OUTER JOIN platform.contentTags ON contentTags.contentId = c.contentId
LEFT OUTER JOIN platform.tagWords ON contentTags.tagId = tagWords.tagId
WHERE c.contentType = 'album' LIMIT 10
GROUP_CONCAT是偉大的,所有的,但我需要的字段從每個表和表將增長。 :/
我的表格佈局:
mysql> explain contentComments;
+--------------+---------------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+-------------------+-------+
| contentId | bigint(19) unsigned | NO | MUL | NULL | |
| userId | bigint(19) unsigned | NO | | NULL | |
| message | varchar(255) | YES | | NULL | |
| stampCreated | timestamp | NO | | CURRENT_TIMESTAMP | |
+--------------+---------------------+------+-----+-------------------+-------+
4 rows in set (0.00 sec)
mysql> explain contentTags;
+-----------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------+------+-----+---------+-------+
| contentId | bigint(20) | NO | MUL | NULL | |
| tagId | bigint(20) | YES | | NULL | |
+-----------+------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> explain contents;
+------------------+-----------------------------------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+-----------------------------------------+------+-----+-------------------+----------------+
| contentId | bigint(20) | NO | PRI | NULL | auto_increment |
| contentType | enum('video','album','blogpost','news') | NO | | NULL | |
| userId | bigint(19) unsigned | NO | MUL | NULL | |
| contentTitle | varchar(45) | YES | | NULL | |
| contentDesc | varchar(255) | YES | | NULL | |
+------------------+-----------------------------------------+------+-----+-------------------+----------------+
mysql> explain tagWords;
+---------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------------------+------+-----+---------+----------------+
| tagId | bigint(19) unsigned | NO | PRI | NULL | auto_increment |
| tagWord | varchar(45) | YES | | NULL | |
+---------+---------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
感謝您的回覆。 我的問題是,每個評論或標籤都有多個需要在前端提供的列/字段。所以,一個字符串逗號分隔不一定是一個修復..除非我想進入爆炸的buch。 – 2010-12-15 16:48:12