Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sprawdzić czy pole zawiera liczbę
Forum PHP.pl > Forum > Bazy danych > MySQL
adamszmu
Hej,
Nie mogę sobie poradzić z jednym zapytaniem
Mam tabele, w której w kolumnie zone jest string złożony z liczb oddzielonych przecinkami.
jak ułożyć zapytanie SELECT, które pokaże mi wszystkie rzędy , zawierające np liczbę 5 (gdzie liczba to wszystkie cyfry pomiedzy przecinkami)

  1. id costam costam 2 zone
  2. 109 62 18 4,0
  3. 108 62 18 8,0
  4. 107 62 18 4,5
  5. 110 62 18 4,77,666,
  6. 111 62 18 4,55
  7. 112 62 18 4,7,5
  8. 113 62 18 7,6,3
  9. 114 62 18 4,5,44


Liczę na Waszą pomoc smile.gif
bpskiba

  1. SELECT * FROM tabela WHERE zone LIKE'%5%'
adamszmu
Takie zapytanie da mi też wynik z 55 a ja chcę tylko 5.
d3ut3r
Można to zrobić tak:

  1. SELECT * FROM tabela WHERE zone LIKE '%,5,%' OR zone LIKE '5,%' OR zone LIKE '%,5'


Znacznie lepiej jednak zrobić osobną tabelę pośredniczącą i dzięki temu zrobisz sobie powiązanie wiele do wielu.
adamszmu
Dziękuje
Właśnie o takie zapytanie mi chodziło, wszystko działa jak należy.

Odnośnie osobnej tabeli, na tym etapie bym musiał przeprowadzać zbyt dużo zmian, ale jak bym poznał argumeny w czym rozwiązenie z osobną tabelą było by lepsze bym przemyślał sprawe jeszcze raz.
Działanie mojego skryptu jest proste mam kilka miejsc(zones), w których są wyswietlane różne dane, jednym zapytaniem do bazy sprawdzam co się wystietla w zone 5 i to wyświetlam.

Co mogę uzykać stosując taką osobną tabelę tabelę?



To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.