Если вы используете MS Sql, вы можете использовать подстроку и charindex для динамического вычисления данных. Если вы хотите получить значение перед пробелом, допустим для «ЗАКОН 1», если вы хотите получить ЗАКОН, указав промежуток между ними, это будет полезно.
with cte as (select 'Law 1' as Cola union all
select 'Law 2' as Cola union all
select 'Law 3' as Cola union all
select 'Chemistry 1' as Cola union all
select 'Chemistry 2' as Cola union all
select 'History 1' as Cola union all
select 'History 2' as Cola )
select substring(cola, 1 , CHARINDEX(' ',cola)-1) Calculated_value from cte
group by substring(cola, 1 , CHARINDEX(' ',cola)-1);
Выход:
Calculated_value
Chemistry
History
Law