List:MySQL on Win32« Previous MessageNext Message »
From:Randy Clamons Date:June 30 2008 5:34pm
Subject:Re: Offtopic help
View as plain text  
Use the GROUP_CONCAT() function. Quote from the manual:


This function returns a string result with the concatenated non-NULL 
values from a group. It returns NULL if there are no non-NULL values. 
The full syntax is as follows:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])

mysql> SELECT student_name,
    ->     GROUP_CONCAT(test_score)
    ->     FROM student
    ->     GROUP BY student_name;


Set the separator to ";". You must be using version 5.0 or higher, but 
since you are talking functions and procedures you probably are.

BTW, mySql will not concatenate strings using +. "Select 'first ' + 
'second'" returns "0" as the result.

Randy Clamons
Systems Programming

Jorge Bastos wrote:
> Hi people,
> I wounder if anyone can give me a hand.
> I want to create a view or function/procedure that returns a string, and
> inside that function I have to pass two arguments, and do a SQL statement
> like this:
> Select * from tbl where field1=art1 and field2=arg2;
> Result=concat(field3 ,';')         <= for each record found I need to
> concatenate the result, and return it on the end.
> How can this be possible?
Offtopic helpJorge Bastos28 Jun
  • RE: Offtopic helpLeif Johnston28 Jun
    • RE: Offtopic helpJorge Bastos28 Jun
  • RE: Offtopic helpJohn Bonnett30 Jun
  • Re: Offtopic helpRandy Clamons30 Jun
    • RE: Offtopic helpJorge Bastos30 Jun
  • Re: group_concat (was: Offtopic help)Markus Grossrieder1 Jul