Chcę wybrać z bazy rekord najlepiej pasujący do danych wymagań, ale w razie gdyby nie było aktualnie dostępnych takich rekordów, chcę najbardziej podobny do stawianych wymogów.
Przykładowo jeśli chciałbym wyjąć z bazy kształt, który jest kwadratem i jest zielony:
1)jesli jest dostępny dostanę kształt, który jest kwadratem i jest zielony,
2)jeśli nie jest dostepny dostanę kszatałt który jest kwadratem ale nie jest zielony
3)jeśli kształt, który jest kwadratem nie jest dostępny, zadowolę się dowolnym kształtem
W najlpeszym wypadku:
SELECT * FROM tabela WHERE a='a', b='b', c='c' LIMIT 1
W najgorszym wypadku:
SELECT * FROM tabela WHERE a='a' LIMIT 1
Oczywiście wiem, że mogę to zrobić w PHP, po kolei sprawdzając wszystkie warunki poprzez dokonywanie kolejnych zapytań, jednak owych warunków mam bardzo dużo i chciałbym Was prosić o zasugerowanie bardziej optymalnego rozwiązania, najlepiej w jednym zapytaniu SQL.