Перекрестное объединение таблиц и использование оператора IN.
select
case when a.n1 in (
b.n1, b.n2, b.n3, b.n4, b.n5, b.n6, b.n7, b.n8
) then 1 else 0 end +
case when a.n2 in (
b.n1, b.n2, b.n3, b.n4, b.n5, b.n6, b.n7, b.n8
) then 1 else 0 end +
case when a.n3 in (
b.n1, b.n2, b.n3, b.n4, b.n5, b.n6, b.n7, b.n8
) then 1 else 0 end counter
from tablea a cross join tableb b
См. Демоверсию .Результаты:
> | counter |
> | ------: |
> | 1 |
> | 1 |
> | 0 |