>>>> 2012/04/04 19:56 +0200, joe j >>>> /*STEP 2. from the dos prompt?*/
for x in UK ZA IN CN; do mysql -ujoe -p -e "INSERT INTO `table_new` SELECT var1, var2`, (case when (country='${x}') then 1 else 0 end) AS citizen ,'${x}' AS ctry FROM `'${x}'_table` LEFT JOIN WORLD USING(YEAR)"; For some reasons step2 is not working. I assume step 2 must be run from DOS prompt (my mysql runs on a server, and I am using PuTTY). Any thoughts? <<<<<<<< I yet suggest that you write an SQL procedure with a constructed string passed to PREPARE. You need a table with all the countries, and a cursor in the procedure to scan the table--or you could use a string and step through two characters at a time. It would be more complicated than that bit of shell-programming, but independent of your OS. A loop with a character string somewhat thus runs: DECLARE i INT DEFAULT 1; WHILE i < 8 DO PREPARE ... SUBSTRING('UKZAINCN', i, 2) .... .... SET i = i + 2; END WHILE; -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql