簡體   English   中英

將多個MySQL行合並到一個字段中

[英]multiple MySQL rows into one field

我在stackoverflow嘗試了類似問題的解決方案,但沒有成功。 這是mysql查詢:

$sql= "SET group_concat_max_len = 2048";
$sql = "select p.id,p.name,p.logo,p.short_description,  GROUP_CONCAT(c.category_name SEPARATOR ', ')  from eshop p, eshop_cat c  GROUP BY p.id";

我無法理解查詢出了什么問題,但是c.category結果為空。 如果我在沒有組concat的情況下執行此操作並使用內部連接,則我會正確接收所有數據。 但是對於每個產品的每個類別,我都針對同一產品有多個行。 (例如,如果一個產品有3個類別,那么它將顯示3次該產品。)我只想為每個產品設置1行,並且類別之間用逗號分隔,請您能幫我嗎?

這樣嘗試

$sql= "SET group_concat_max_len = 2048";
$sql = "select p.id,p.name,p.logo,p.short_description,  GROUP_CONCAT(c.category_name SEPARATOR ', ') as category_names   from eshop p join  eshop_cat c on
p.id=c.id GROUP BY p.id";

只需將您的p.id=c.id ,它將對您p.id=c.id

暫無
暫無

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

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