если номер-3 то нужно в запросе1 получить сумму полей "неделя1+неделя2+неделя3"
Налицо неоптимальная структура хранения информации о временных рядах. Хорошо для "посмотреть", плохо для SQL.
Это называется "переуплотнение таблицы".
Использование SQL-запросов вида на таких данных с оператором CASE
SELECT SUM(CASE WHEN ... THEN... END) FROM...
который в некоторых движках умеет динамически выводить разное число колонок в качестве аргументов в функцию SUM() - окажется в итоге сложнее, чем перебрать всю таблицу макросом.
Если же упираться с SQL... Я бы "разрядил" таблицу, превратив столбцы неделя1-неделя2... в один столбец. Да, Таблица станет длинее по высоте и "худой". Но зато по ней станет возможно писать простые условия для суммирования с WHERE + HAVING.
Для "разрядки" и решейпинга в больших СУБД, в либах дата-сатанистов Pandas - есть спецальные команды PIVOT, STACK/UNSTACK. которые легко превратят таблицу в простую. Возможно в вашей БД они тоже есть.
PS Если ваши данные и правда целочисленные с 0 до 9 - можно просто представить вашу таблицу в виде всего 2-х столбцов со строками:
"цех1" "435"
"цех2" "367"
И тогда SQL справится влет:
запрос1 с параметрами цех1 и неделя=2 найдет нужную строку с WHERE и возьмет первые 2 символа из 435 и сложит 4+3=7
запрос3 с параметром цех2 и неделя=3 найдет нужную строку с WHERE и возьмет первые 3 символа из 367 и сложит 3+6+7=16