On Thursday 12 January 2006 11:40 am, George Law wrote:
> Mark,  
> 
>  
> 
> Sql is an alias to mysq -u.....  
> 
> What about something like :
> 
>  
> 
> declare -a TEAMS=(`echo "query"|sql|sed 's/$/",/g'|sed 's/^/"/g'|sed
> 's/"$//'`)
> 
>  
> 
> since the query returns the results 1 per line, the first sed prefixes
> each line with a quote
> 
> second sed replaces the newline with quote comma, turning it into 1 line
> string.  Last sed drops off the last quote
> 
>  
> 
> I gave this command and bash didn't complain :-) so I assume it worked.
> 
> 
I actually ended up with something similar:

declare TEAM_QUERY="`mysql ${ACCESS_PARAMS} --exec "select distinct team from 
registered order by team"`"

declare -a TEAMS=(`echo "${TEAM_QUERY}"|sed 's/^/"/g'|sed 's/$/"/g'`) 

Commas are not used in the definition of an array - just spaces between quoted 
strings. 

Thanks for your help!
> 
>  
> 
>  
> 
> -----Original Message-----
> From: Mark Phillips [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, January 12, 2006 12:44 PM
> To: MYSQL List
> Subject: Question regarding running 'mysql' from a bash script
> 
>  
> 
> There is a column in my table with string values, but the strings have
> spaces 
> 
> in them. I want to read the unique column values into an array in my
> bash 
> 
> script, so I can use these values in a separate query on this table. How
> do I 
> 
> get the values into an array?
> 
>  
> 
> For example, the column teams in my table
> 
>  
> 
> | team |.....
> 
> Red Sox
> 
> Chicago Colleens
> 
> Athletics
> 
> Kenosha Comets
> 
> Red Sox
> 
>  
> 
> and I want to create the equivalent statement, but using what I find in
> the 
> 
> table"
> 
>  
> 
> declare -a TEAMS=("Red Sox" "Chicago Colleens" "Athletics" "Kenosha
> Comets")
> 
>  
> 
> I tried the following:
> 
> declare -a TEAMS=(`mysql -u "$USER" -h "$HOST" --password="$PASSWORD" -D
> 
> 
> "$DATABASE" -B --disable-column-names --exec "select distinct team from 
> 
> registered order by team"`)
> 
>  
> 
> but I get the following array (using the data above)
> 
>  
> 
> ("Red" "Sox" "Chicago" "Colleens" "Athletics" "Kenosha" "Comets")
> 
>  
> 
> How do I either (1) add quotes around each row entry returned so I get
> the 
> 
> right array, or (2) fill the array in a different way?
> 
>  
> 
> Thanks!
> 
>  
> 
> -- 
> 
> Mark Phillips
> 
> Phillips Marketing, Inc
> 
> [EMAIL PROTECTED]
> 
> 602 524-0376
> 
> 480 945-9197 fax
> 
>  
> 
> -- 
> 
> MySQL General Mailing List
> 
> For list archives: http://lists.mysql.com/mysql
> 
> To unsubscribe:
> http://lists.mysql.com/[EMAIL PROTECTED]
> 
>  
> 
> 

-- 
Mark Phillips
VP Softball
Arcadia Little League
www.ArcadiaLittleLeague.org
[EMAIL PROTECTED]
602 524-0376

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to