Как объединить таблицы по regex

Скажем, у меня есть две таблицы msg для сообщений и mnc для кодов мобильных сетей. Они не имеют общих отношений. Но я хочу соединить их

SELECT msg.message,
    msg.src_addr,
    msg.dst_addr,
    mnc.name,
FROM "msg"
JOIN "mnc"
ON array_to_string(regexp_matches(msg.src_addr || '+' || msg.dst_addr, '38(...)'), '') = mnc.code

Но запрос не выполняется с ошибкой:

psql:marketing.sql:28: ERROR:  argument of JOIN/ON must not return a set
LINE 12: ON array_to_string(regexp_matches(msg.src_addr || '+' || msg...

Есть ли способ сделать такое соединение? Или я иду неверным путем?

7
задан Erwin Brandstetter 14 January 2012 в 00:55
поделиться