[英]MySQL Join multiple rows into one field
目前,我有一個包含兩個表zip_codes和emails的數據庫。 郵政編碼包含三個字段zid,eid和zip。 電子郵件包含eid,電子郵件和位置。
這是我當前的查詢:
SELECT a.zid, a.zips, b.email, b.location FROM zip_codes AS a INNER JOIN emails AS b ON a.eid = b.eid
基本上,我想做的就是將得到的結果轉換為該結果( http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/ ),但是我完全不確定我目前的設置該怎么做。
我嘗試更改名稱,但是在[text()]附近的語法中出現錯誤,並且由於不知道如何使用它,因此我陷入了困境。
感謝所有幫助。
對於Mysql,您可以使用GROUP_CONCAT
SELECT
b.email,
b.location,
GROUP_CONCAT(a.zips) zipcodes
FROM
zip_codes AS a
INNER JOIN emails AS b
ON a.eid = b.eid
GROUP BY b.eid
使用GROUP_CONCAT的注意事項:結果被截斷為group_concat_max_len系統變量給定的最大長度,該變量的默認值為1024。盡管返回值的有效最大長度受max_allowed_packet的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.