Mam tablicę wyszukiwania w PostgreSQL kapelusz pasuje przynajmniej jeden tag jak to:Postgres Array Prefiks Dopasowane
SELECT * FROM users WHERE tags && ['fun'];
| id | tags |
| 1 | [fun,day] |
| 2 | [fun,sun] |
To jest możliwe, aby dopasować na prefiksów? Coś jak:
SELECT * FROM users WHERE tags LIKE 'f%';
| id | tags |
| 1 | [fun,day] |
| 2 | [fun,sun] |
| 3 | [far] |
| 4 | [fin] |
który istnieje zapis jest niepoprawny - spojrzeć na wyniki. Brakuje odniesienia do zewnętrznego zapytania, aby powiązać wiersze. Spróbuj dodać AND 'id = u.id' ("u" jest aliasem dla zewnętrznej tabeli). Zaktualizowano Fiddle: http://sqlfiddle.com/#!12/a6940/10/0 – bma
Nie mam zbyt wiele doświadczenia w PostgreSQL (głównie na serwerze SQL), ale jestem prawie pewien, że się mylisz i BTW moje zapytanie zwraca poprawny wynik w sqlfiddle. Exists działa już na bieżących znacznikach wierszy, więc twój id = u.id. SQLFIDDLE nie działa w tej chwili, więc sprawdzę to później. –
zasadniczo moje zapytanie może być przepisane jako 'wybierz * od użytkowników jako u, gdzie istnieje (wybierz * z unnest (u.tags) jako arr, gdzie arr jak" f% ")' –