Я новичок в SQL, и у меня есть две такие таблицы
tab1:
+---+---+
| ID|som|
+---+---+
| e| 1|
| d| j|
| c| 1|
| b| 1|
| a| p|
+---+---+
tab2:
+------+---+
|SK_CUR|som|
+------+---+
| b| d|
| a| c|
| a| i|
+------+---+
и я просто хочу посчитать появление букв в обеих таблицах. Итак, результат должен выглядеть так:
+------+---+
| ID| oc|
+------+---+
| a| 3|
| b| 2|
| c| 1|
| d| 1|
| e| 1|
+------+---+


Думаю, вам просто нужны union all и group by:
select id, count(*)
from ((select id from t1) union all
(select SK_CUR from t2)
) t
group by id;
попробуйте следующий запрос,
select ID , count(*) from (
select ID from tab1 where like '%[a-z]%'
union all
select som as ID from tab1 where som like '%[a-z]%'
union all
select SK_CUR as ID from tab2 where SK_CUR like '%[a-z]%'
union all
select som as ID from tab2 where som like '%[a-z]%')
group by ID
Поскольку вам нужны только буквы из всех столбцов обеих таблиц, я использовал фильтр например "% [a-z]%"