id | owner_id | param | value
gdzie id to primary key, owner_id to id uzytkownika dla którego tabela gromadzi parametry, natomiast param to nazwa parameru a value jego wartość.
i teraz dochodzę do momentu filtrowania. Chciałbym pobrać użytkoników (wystarczą same ID), dla których parametry param1 = val1 a param2 = val2
nie mam za bardzo pomysłu. Jedyny, który mam wydaje mi się chyba słaby, mianowicie:
SELECT owner_id, count(*) AS cnt FROM params WHERE (param = 'param1' AND value = 'val1') OR (param = 'param2' AND value = 'val2') GROUP BY owner_id HAVING cnt = 2
co o tym sądzicie, na pewno są lepsze sposoby?