my @column_names = ("MO_resp","MT_resp","AO_resp"); my $sql = "select ".join ",", map { "sum($_)" } @column_names; $sql .= " from ? where Date = ? and Hour like ?"; my $hour_sth = $hour_db->prepare( $sql ); $hour_sth->execute($table_name, $db_date, "$hour:%") or die $DBI::errstr;