Hi guys, Demo: http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=3c3a3f870eb4d002c5b4200042b25669 <http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=c2fbb7da5a2397f7cda5126ed239c080>
AS you can see above, when performing this query: > SELECT * FROM test1 WHERE client_id = 10 AND path ~ > '^/testfile/client/[0-9]+/attachment/(([0-9]{1,14})|(unassigned))/' > I get 5 rows. But actually I only want/need 3 of them: - with the 'master' variation - and if it is unassigned (attachment/unassigned); then i want it too The rows that I should be getting are: 5 /testfile/client/10/attachment/1000/master/ 10 7 /testfile/client/10/attachment/unassigned/file/1001/master 10 8 /testfile/client/10/attachment/unassigned/file/1002/master 10 What am I doing wrong? Thanks Patrick.