męczę się z wydobywaniem danych z bazy. Od razu przejdę do rzeczy.
Mam kilka tabel, które są połączone relacjami. W tym dwie tabele połączone w taki sposób (w skrócie):
tabele:
badanie
---------------
parametr_a
parametr_b
parametr_c
parametry
------------
id
nazwa
badanie może mieć kilka parametrów (oczywiście z tabeli parametry). Relacje utworzone są następująco:
badanie.parametr_a -> parametry.id
badanie.parametr_b -> parametry.id
badanie.parametr_c -> parametry.id
moje pytanie w SQL wygląda następująco:
SELECT * FROM badanie, parametry WHERE badanie.parametr_a=parametry.id OR badanie.parametr_b=parametry.id OR badanie.parametr_c=parametry.id AND ( (badanie.parametr_a = 'pierwszy_parametr' OR badanie.parametr_b = 'pierwszy_parametr' OR badanie.parametr_c = 'pierwszy_parametr') AND (badanie.parametr_a = 'drugi_parametr' OR badanie.parametr_b = 'drugi_parametr' OR badanie.parametr_c = 'drugi_parametr') )
tu próbowałem dawać AND ale wyświetlana jest informacja, że zero wyników
badanie.parametr_a=parametry.id OR badanie.parametr_b=parametry.id OR badanie.parametr_c=parametry.id
Pytanie działa, jednak nie zawsze wyświetla poprawne wyniki przy kilku parametrach.
Pytanie z mojej strony czy to są złe relacje czy złe zapytanie?