Run in series and Parallel

I have a list with four dates
say load_date.lst contains

2010-01-01 2010-01-31
2010-03-01 2010-03-31
2010-05-01 2010-05-31
2010-07-01 2010-07-31

And I have directory /lll/src/sql with set of sql's
1_load.sql
2_load.sql
3_load.sql

I want to run the sql'in series with respective to each date and In parallel with respective to load

I mean
1,2,3 with input 2010-01-01 2010-01-31

1,2,3 with input 2010-03-01 2010-03-31

How this can be done?

I have something like this

sql_list=`ls /lll/src/sql/*.sql`

for i in ${sql_list}
do

  c_l=`wc -l load_date.lst | awk ' { print $1 }'`
  nol=`expr $c_l - 0`
  z=1
  while [[ $z -le $nol ]]
  do
  cat load_date.lst | nawk -v I="$z" 'NR==I { print $0 }' | read from_date to_date
  
  echo "$from_date $to_date"
  
       some_script.ksh ${i} ${from_date} ${to_date} &
       
  z=$((z + 1))
  
  done

Will this work? or can you suggest some good ways

Thanks in advance...

As in, run 1, 2, 3 in parallel on the same input, but wait for all three to finish before starting another three? If that's all you want that should be doable, but I can't tell what your script's actually doing through all the cat and nawk. I suspect most of the cat | awk | foo | bar | baz | read is unnecessary. Is the input format of your dates different from what you've listed, hence needing conversion in awk? Or are you just reading one line at a time in an odd way?

@ Corona688
1,2,3 should run in series and for each date it should run in parallel

I'm running out of time to solve this right now but it might help to remember that you can background entire code-blocks. ( while read VAL ; do x ; done < list ) &