2011-10-10 33 views
1

更新的SQL:爲什麼它在值之間輸出逗號?

SELECT listTitle, listLength, listCmt, listDt,GROUP_CONCAT('',mBCFName,' ',mBCLName,' ',moAmt,'<BR>') AS mOfferInfo 
FROM User U 
INNER JOIN Listing L on (U.uID = L.uID) 
INNER JOIN MerchantOffer MO ON (L.listID = MO.listID) 
INNER JOIN Merchant M on (M.mID = MO.mId) 
GROUP BY listTitle 
ORDER BY listDt DESC 

如何使這個代碼輸出? :值之間的組中

Title: Apple iPhone 4S 
Comment: need this one quick! 

15257 days 22 hours ago 
Offer By: 
Diana Matthews 194.99 
John Dickinson 185.99 

回答

3

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

缺省分隔符爲逗號(「」)。

如果你不希望逗號,將其更改爲別的東西:

GROUP_CONCAT(' ',mBCFName,' ',mBCLName,' ',moAmt,'<br />' SEPARATOR '') 

,或者你可以只使用<br />作爲分隔符:

GROUP_CONCAT(' ',mBCFName,' ',mBCLName,' ',moAmt SEPARATOR '<br />') 
+0

如何修改這隻能是在特定的值? – Jay

+0

查看我剛剛添加的其他信息,Jay。 – Amber

+0

請參閱更新的SQL,通過將''''改爲''''它沒有改變任何東西。我在這裏做錯了什麼? – Jay

1

有一個默認的分隔符級聯值之間。看看GROUP_CONCAT()的描述。要在兩個值之間「禁用」,,您必須使用SEPARATOR ''

0

在你的SQL,更改:

GROUP_CONCAT(' ',mBCFName,' ',mBCLName,' ',moAmt,'<br />') 

到:

GROUP_CONCAT(mBCFName,' ',mBCLName,' ',moAmt,'<br />')