В случае, если тип в таблице имеет идентифицируемый разделитель, такой как ',', ';' и др c. Вы можете переписать запрос как regexp_split_to_table (type, ',') или в версиях, более поздних, чем 9.5. Можно использовать также функцию unnest.
Например,
select * from
( select id ,regexp_split_to_table(type,',') from table1)table1
inner join
select * from table2
on trim(table1.type) = trim(table2.type)
Можно найти еще один хороший пример - https://www.dbrnd.com/2017/03/postgresql-regexp_split_to_array-to-split-string-using-different-delimiters/
SELECT
a[1] AS DiskInfo
,a[2] AS DiskNumber
,a[3] AS MessageKeyword
FROM (
SELECT regexp_split_to_array('Postgres Disk information , disk 2 , failed', ',')
) AS dt(a)