PostgreSQL - kolejność według tablicy
Mam 2 stoły - kurs, który zawiera identyfikator i nazwę kursów oraz kurs tagów, który zawiera tagi dla każdego kursu.
course tagcourse
------------ ----------------
PK id_course PK tag
name PK, FK id_course
Chciałbym napisać funkcję, która przeszukuje kursy według podanej tablicy tagów i zwraca je uporządkowane według ilości pasujących znaczników. Nie wiem jednak, jak napisać to poprawnie i efektywnie. Proszę pomóż mi.
to znaczy.
CREATE OR REPLACE FUNCTION searchByTags(tags varchar[])
RETURNS SETOF.....
RETURN QUERY SELECT * FROM course c INNER JOIN tagcourse tc ON c.id_course = tc.id_course
WHERE ??? ORDER BY ???
END....