簡體   English   中英

MySQL將多行連接到一個字段

[英]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_pa​​cket的值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM