Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Czy jest możliwość by like był większy od zera!
Forum PHP.pl > Forum > Przedszkole
woxala123
Witam!
Mam takie zapytanie

  1.  
  2. SELECT * FROM `xxx`.`xxx` WHERE sum > 0 AND lok LIKE 's%' OR lok LIKE 'g%' OR lok LIKE 'g%' ORDER BY sum ASC

I idzie mi oto że jak ilość w lokalizacjach G i D mam zero to wyświetla mi zero choć dałem warunek że ma być powyżej zera ale w lokalizacji np. SE12d1 gdzie ma zeo już nie pokazuje. Czyli jak zrobić by w lokalizacji np G12A4 GDZIE JEST ZERO NIE WYŚWIETLAŁO MI SIĘ NIC. Czy jest taka możliwość by like był większy od zera
POZDRAWIAM
trueblue
x AND (y OR z)
woxala123
Podaj przykład- jak bym mógł to wykorzystać.
nospor
POdstawy logiki/matematyki

2 * 3 + 4

to nie to samo co

2 * ( 3 + 4 )


Identyczna sytuacja z AND i OR
woxala123
Zrobiłem coś takiego i działa
  1. SELECT * FROM `xxx`.`xxx` WHERE sum >= 1 AND LOK LIKE 'G%'OR sum >= 1 AND LOK LIKE 'd%'


Dzięki nospor za wytłumaczenie logiki. CZyli jak rozumiem że wiesz najpierw w nawiasach działania wykonujemy a potem to już wiesz..... Lkingsmiley.png
nospor
Czyli zamiast zrobic
2 * ( 3 + 4 )
to zrobiles
2 * 3 + 2* 4

Mozna i tak, ale wiesz, predzej czy pozniej wypadaloby opanowac nawiasy tongue.gif
woxala123
To mnie popraw jak żle napisałem
  1. SELECT * FROM `xxx`.`xxx` WHERE sum >= 1 AND (LOK LIKE 'G%' OR lok LIKE 'D%')
nospor
znajdz 10 roznic
LOK
lok
viking
Albo możesz zastąpić LIKE przez RLIKE/REGEXP i problem or znika.
Pyton_000
Nie znika bo musi uzyc or w regexp wink.gif
woxala123
nospor to tylko literówka nic nie znacząca.
A viking w tym przypadku myslę użycie RLIKE/REGEXP zdaje egzamin przy takim zapytaniu
  1. SELECT * FROM `xxx`.`xxx` WHERE sum >= 1 AND lok REGEXP '^d|^g';
  2.  
nospor
twoja literowka powinna rozwalac zapytanie, wiec znaczaca tongue.gif

Czyli co, z nawiasami w koncu dziala?
woxala123
Działa też podpowiedź vikinga

Pyton_000 i znów Ciebie viking zagiął. Nie użyłem OR w tym przypadku.
I polecam Tobie kursik
http://www.sqlines.com/mysql/regexp_rlike
viking
Nie zagiął bo to dalej or tylko inaczej zapisany.
woxala123
OJ ty viking jakiś ty skromny ohmy.gif . Szacun wielki. Skoro inaczej zapisany- to niezły z tego skrypt. closedeyes.gif
PS.
Dla wtajemniczonych chodzi o znak |.
Pyton_000
Cytat(woxala123 @ 28.01.2017, 15:29:14 ) *
Działa też podpowiedź vikinga

Pyton_000 i znów Ciebie viking zagiął. Nie użyłem OR w tym przypadku.
I polecam Tobie kursik
http://www.sqlines.com/mysql/regexp_rlike

Hehe mnie kursik nie potrzebny wink.gif Wiem co piszę co z resztą wytłumaczył Viking tongue.gif
woxala123
Pyton_000- no tak tu przy OR - to litery a przy |- to znak. closedeyes.gif
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.