Разбейте проблему на части!
Этот вопрос на самом деле состоит из нескольких вопросов "Как мне?", В которые вопрос почти сводится к "Написать этот код"для меня "запрос.
Итак, вместо этого я собираюсь помочь с первой проблемой: структура данных.
У вас есть ненормализованная таблица, и во время реструктуризациибаза данных поможет, иногда это невозможно сделать.Но если бы вы могли преобразовать данные во что-то нормализованное, это сделало бы запрос на лот проще.
Так что давайте сделаем это!
Проблема была бы намного прощеесли таблица выглядит следующим образом:
ID
Company
MonthNum
TotalEmployees
FullTimeEmployees
... поэтому давайте напишем запрос, который получит нам данные в этом формате:
select ID, Company, 1 as MonthNum, TE01 as TotalEmployees, FT01 as FullTimeEmployees from ...
UNION ALL
select ID, Company, 2 as MonthNum, TE02 as TotalEmployees, FT02 as FullTimeEmployees from ...
UNION ALL
select ID, Company, 3 as MonthNum, TE03 as TotalEmployees, FT03 as FullTimeEmployees from ...
-- etc, going up to 12.
Теперь мы можем выполнить запросы к этим данным с помощьюиспользуя его как подзапрос:
select WhateverColumns from
(
-- that query from the previous section
) as normalizedData
where WhateverConditionsYouWant
Имеет смысл?Разбейте проблему на конкретные шаги, а затем начните решать шаги.Первый - получить данные в формате, с которым легче работать, и я показал, как это решить.Теперь вам нужно продолжить написание запроса, чтобы получить конкретные данные, которые вы ищете.Желаем удачи!