在MySQL中,有時候需要用多個表的數據來拼接成字符串,例如需要顯示某個商品的分類,但是分類信息可能分散在不同的表中。這時候可以使用多表聯接來實現。
假設有三個表:商品表(item),分類表(category),以及商品與分類之間的關聯表(item_category)。其中,item表和category表分別有id和name兩個字段,item_category表有item_id和category_id兩個字段,用于表示商品和分類之間的多對多關系。
SELECT item.name, GROUP_CONCAT(category.name) AS categories
FROM item
LEFT JOIN item_category ON item.id = item_category.item_id
LEFT JOIN category ON item_category.category_id = category.id
GROUP BY item.id;
這個查詢語句將商品表、商品分類關聯表和分類表聯接在一起,通過GROUP_CONCAT函數將每個商品對應的分類拼接成一個字符串,作為categories字段返回給客戶端。由于將多個表聯接在一起,所以需要注意JOIN的順序,此處先將商品表和關聯表聯接起來,再將分類表聯接。
上一篇mysql用張登錄數據庫
下一篇css 指定去除背景色