porównanie wielu wartości z jednej komórki do zbioru liczb

0

Czy jest taka możliwość stworzenia zapytania aby w zapytaniu gdy porównujemy np. z komórki id_kategorii (varchar) gdzie mamy np. 3,250 porównać do zbioru np.192,3 i gdy przynajmniej jedna wartość z komórki znajduje się w zbiorze ( 3 ) , wyświetlamy dane.

0

Można by dla każdej liczby sprawdzać czy istnieje taka zależność (np. w SQL Serverze, autor nie podał SZBD):

    having count(CHARINDEX('3',id_kategorii)) > 0

Jednakże to się trochę mija z celem ze względu na wydajność rozwiązania, jeżeli sprawdzimy to dla kilku elementów to ok, ale dla wielu bez sensu. Pytanie jest inne dlaczego Twoja struktura wygląda w ten sposób, że w polu id_kategorii mamy wartość '3,250'. I dlaczego chcesz porównywać to z inną liczbą. Dlaczego te wartości są przechowywane jako varchar? Co oznaczają ? Taka struktura nie wygląda normalnie ani sensownie.

0

Chodzi o MySQL, czy jest taka możliwość?

0

SELECT * FROM cwiczenia where find_in_set('193' , id_kategorii) or find_in_set('3' , id_kategorii) or find_in_set('45' , id_kategorii)

czy takie zapytanie byłoby optymalne?

1 użytkowników online, w tym zalogowanych: 0, gości: 1