Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dzielenie kolumny po przecinku, LIKE,REGEXP,substring_index ? A może jeszcze inaczej?
MateuszRyaN
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 21:30