Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 10.11.2010 Skąd: Jastrzębie Zdrój Ostrzeżenie: (0%)
|
Witam, mam pewien problem. Potrzebuje wykonać zapytanie, które sprawdzi, czy podana wartość występuje w określonej komórce.
Próbowałem LIKE jednak to nie jest zbyt dobry wybór, substring_index wyciąga mi określoną pozycje, ale przecież nie wiem ile ich może być, oraz REGEXP np '^5,$' natomiast coś mi nie chce działać (IMG:style_emoticons/default/sad.gif) id - category 1 - 14,24,5,21 2 - 3,4,13,5 3 - 16,17,22,4,5,8 Potrzebuję zapytania, które wyszuka mi wszystkie rekordy pasujące np. do 5 (1,2,3) lub 4 (2,3). Prosiłbym o jakąś pomoc, wskazówkę. Pozdrawiam. Ten post edytował MateuszRyaN 10.11.2012, 22:09:14 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%)
|
Jeśli nie chcesz (nie możesz) przebudować bazy, to możesz zrobić tak:
Na czas porównania dodaj do category na poczętku i na końcu ,. Czyli będziesz miał: 1 - ,14,24,5,21, 2 - ,3,4,13,5, 3 - ,16,17,22,4,5,8, I teraz tu już LIKE lub REGEX wystarczy... Czyli: SELECT * FORM tabela WHERE CONCAT(',', category, ',') LIKE '%,5,%' Założyłem, że baza MySQL - CONCAT i złożyłem, że szukasz 5 Ten post edytował mmmmmmm 11.11.2012, 00:49:28 |
|
|
|
MateuszRyaN Dzielenie kolumny po przecinku 10.11.2012, 22:07:55
thek Wiem, że nie jest to odpowiedź, ale patrząc co zaw... 10.11.2012, 22:48:23
sazian ewentualnie pole typy SET powinno zadziałać 10.11.2012, 22:59:47
MateuszRyaN Dzięki za info, no właśnie próbowałem różnych meto... 10.11.2012, 23:18:39
thek Powiem tak... Przebuduj to, póki jest w miarę małe... 10.11.2012, 23:26:53 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 21:30 |