另一個表我有一個表稱爲「上崗」用以下結構:加入含標籤
post_id | post_body | post_posterid
我呼喚另一個表「標籤」:
tag_id | tag_name
第三個錶店兩個表格之間的關係(對於每個post_id將具有多個tags_id作爲分開的記錄):
post_id | tag_id
這與我試圖創建的stackoverflow的標記類似。
但我不知道如何加入表格並在單個記錄中爲每個帖子連接標籤。像這樣:
post_id | post_body | post_postername | tag_id1 | tag_id2 | tag_id3 ..... tag_name1 | tag_name2 | tag_name3 ....
所以,當使用PDO從MySQL中獲取數據時,我可以避免進一步的查詢來獲取標籤名稱。
編輯 更多細節:
第一個表( 「上崗」)包含帖子ID(唯一的ID),發佈消息和海報的ID(存儲在表中是唯一投稿者ID 「海報」)。 第二個表「標籤」包含可能的標籤(如「php」,「vb.net」等,像在stackoverflow中)與唯一tag_id。 第三個表格包含發佈的消息和標籤之間的關係。所以它包含post_id及其對應的tag_id。可以將多個標籤分配給相同的帖子。
我想要什麼:當查詢時,我可以加入「職位」與「海報」表來獲取姓名。但我想爲每個帖子獲取標籤。
GROUP_CONCAT()是我的問題的答案。但是如何獲得它作爲tag_id - tag_name對,而不是一個字段中的所有tag_id和另一箇中的所有tag_name。
如:1-VB , 5-PHP , 19-SQL
我會在PHP
分開這對我努力是一樣的計算器的標籤系統。
謝謝吐蕃。所以我應該將tag_id和tag_name作爲單獨的字段group_concat進行分組,並在PHP中對其進行分割並輸出。正確嗎? –
我們如何將它作爲tag_id - tag_name對而不是id和name在單獨的字段中? –
將GROUP_CONCAT(tags.tag_name)更改爲GROUP_CONCAT(CONCAT(tags.tag_id,' - ',tags.tag_name)) –