Просто такая переменная планируется всего одна. Поначалу хотелось избежать применения отдельной таблицы, но, похоже, не получится. Просто если придется использовать еще одну подобную переменную, но уже другого типа данных, то для нее придется создать уже другую таблицу.
Тогда оставьте созданную вами структуру, но сделайте связь groups - matches один ко многим. Тогда информацию будет сложнее извлекать. Для Региона (2 Москва) -> Дисциплины (1 Футбол) -> Группы Б (2):
SELECT * FROM Matches WHERE group_id IN (
SELECT group_id from Groups where group_name = "Б" and discipline_id IN(...)) и так далее если подзапросами.
Bjornie: при моей структуре - вот так: SELECT * FROM Matches WHERE match_id IN (SELECT row_id FROM region-discipline-group WHERE region_if IN (SELECT region_id FROM regions WHERE r_id = "Moscow") AND .. #то же для остальных id)
В таком случае, если уникальность ГАРАНТИРУЕТСЯ (т.е. регионы - дисциплины и дисциплины - регионы - один ко многим), то можно просто сделать в таблице матчей ссылку на id группы, и тогда будет удобно извлекать данные из предыдущих таблиц при помощи подзапросов.