Mam tabelę z wyrażeniami regularnymi, których muszę używać do filtrowania wierszy z innej tabeli.
Coś jak:
SELECT *
FROM a
WHERE foo SIMILAR TO "(SELECT regex FROM b)"
Oczywiście to nie działa, ponieważ nie jest to składnia i jest w niej wiele wierszy b
przez co muszę iterować.
Używam PostgreSQL 8.3.
Odpowiedzi:
5 dla odpowiedzi № 1Być może wykonanie połączenia byłoby skuteczne? Na przykład.
SELECT a.*, b.regex
FROM a JOIN b ON a.foo ~ b.regex
Obawiam się, że nie znam się wystarczająco dobrze na Postgresiepowiedzieć na pewno, ale byłby to zwykły sposób w SQL iteracji po wierszach. Powinien zwracać a.foo wiele razy, jeśli dopasowanych jest wiele wyrażeń regularnych.