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]