2017-05-15 15:20 GMT+12:00 Patrick B <patrickbake...@gmail.com>:

> Hi guys,
>
> Demo: http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=
> 3c3a3f870eb4d002c5b4200042b25669
> <http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=c2fbb7da5a2397f7cda5126ed239c080>
>
>
FYI - NEW LINK
http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=ea61e7e1859bdb7f297f853a9dc0e3d0
with more variations.



>
> 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.
>

Reply via email to