Potrzebuję zrobić szukanie słownikowe w tabeli z danymi - używam TSearch2. Słownik ma uwzględniać pola z tabeli oraz odpowiednie tagi. Mam z tym dwa problemy, problem pierwszy:
postgres=# UPDATE company SET textsearch = to_tsvector('public.polish', "name" || "description" || "city" || "street" || (SELECT name FROM tag LEFT JOIN company_tags on company_tags.TAG_ID = tag.id WHERE company_id=company.id)); BŁĄD: more than one row returned BY a subquery used AS an expression
Jak mogę połączyć ze zwracane wyniki? Wystarczyłby mi odpowiednik implode()" title="Zobacz w manualu PHP" target="_manual z php
Problem drugi:
CREATE TRIGGER tsvector_ui_outpost BEFORE INSERT OR UPDATE ON firm FOR EACH ROW EXECUTE PROCEDURE tsvector_update_trigger(textsearch, 'public.polish', "name", "description", "city", "street", (SELECT name FROM tag LEFT JOIN company_tags ON company_tags.TAG_ID = tag.id WHERE company_id=company.id)); BŁĄD: błąd składni w lub blisko "(" LINE 3: ...polish', "name", "description", "city", "street", (SELECT na...
Czy można jakos ominąć ten błąd?