[MySQL] OR z logiki, W MySQL OR działa inaczej |
[MySQL] OR z logiki, W MySQL OR działa inaczej |
8.10.2009, 21:41:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 7 Dołączył: 15.05.2005 Skąd: Rzeszów Ostrzeżenie: (0%) |
Witam
W logice przy sprawdzaniu warunku p OR q, jeżeli p jest prawdą, q nawet nie jest sprawdzane. Jak takie coś osiągnąć w MySQL? Bo tam działa to tak, że nawet jak p jest prawdą, to i tak jeszcze jest sprawdzane q Ten post edytował thomas2411 9.10.2009, 10:13:16 |
|
|
8.10.2009, 22:43:14
Post
#2
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) |
Witam,
Pomyliło Ci się OR ( alternatywa ) z AND ( koniunkcją ). To w koniunkcji jeżeli warunek nie jest dokonany nie sprawdza drugiego. Alternatywy używasz do sprawdzania w celu np. błędu. Na dodatek polecam przeczytanie dokumentacji MySQL. Pozdrawiam, Largo Ten post edytował Largo 8.10.2009, 22:50:20 |
|
|
8.10.2009, 23:43:31
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
@Lagro - cos zes namieszal.
Dla OR-a *tez* mozna skrocic sprawdzanie, jak pierwsze jest true - to cale wyrazenie bedzie true. Jest to pewna forma optymalizacji - pewna bo zmienia dzialanie kodu, w manualu php nazywaja to "short-circuit" Cytat // foo() will never get called as those operators are short-circuit $a = (false && foo()); $b = (true || foo()); $c = (false and foo()); $d = (true or foo()); http://us2.php.net/manual/en/language.operators.logical.php -------------------- Nie lubię jednorożców.
|
|
|
9.10.2009, 08:27:10
Post
#4
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 7 Dołączył: 15.05.2005 Skąd: Rzeszów Ostrzeżenie: (0%) |
Dzięki za odpowiedzi, ale chyba się źle wyraziłem o co mi chodzi.
Chciałbym aby MySQL sprawdził sobie warunek w ten sposób, że: ... WHERE imie = 'tomek' costamniewiemco imie = 'marek' I teraz. Jeżeli znajdzie takie wpisy gdzie imie = 'tomek' to pobiera te rekordy, ale nie sprawdza już 'marek' i nie pobiera 'marek'. Natomiast jeżeli NIE znajdzie 'tomek' to szuka 'marek' Jak znajdzie marek to go pobiera, jak nie to nie. -------------------Edycja----------------------- W sumie to nie jest kwestia logicznych warunków, tylko trzeba zastosować IF i po kłopocie Ten post edytował thomas2411 9.10.2009, 08:46:36 |
|
|
9.10.2009, 10:05:13
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
To mowisz o czyms zupelnie innym.
Musisz zliczyc ile jest markow a ile tomkow (podzapytania), i na tej podstawie IFem wybrac ktore rekordy chcesz pobierac -------------------- Nie lubię jednorożców.
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.05.2024 - 01:21 |