Autor | Zpráva | ||
---|---|---|---|
caradoc Profil * |
#1 · Zasláno: 26. 2. 2011, 14:47:44
dobrý den,
prosím o radu, potřebuji vybrat z tabulky řádky podle dvou klíčů první klíč je WHERE sloupec.a1>10 AND sloupec.a1<20 další klíč je WHERE sloupec.a2=8 nedaří se mě spojit příkaz WHERE AND nebo OR nepomáhá, nebo nevím jak zapsat WHERE prosím o radu, děkuji, Caradoc |
||
Velda Profil |
#2 · Zasláno: 26. 2. 2011, 15:25:47
SELECT * FROM tabulka WHERE sloupec1>10 AND sloupec1<20 AND sloupec2=8 pokud ti jde o tohle, tak by ti mělo fungovat tohle, ale jinak jsem hoď celý příkaz, který zkoušíš... |
||
caradoc Profil * |
#3 · Zasláno: 26. 2. 2011, 16:30:10
toto pracuje skvěle, ale vybere záznamy které jsou v rozmezí 10 až 20 a ještě se musí rovnat 8
mě jde o to aby vybral záznamy které jsou v rozmezí 10 a 20 a také záznam který není v rozmezí 10 a 20 ale rovná se 8 řešit příkazem AND nepomůže,.. |
||
Cup Profil |
#4 · Zasláno: 26. 2. 2011, 17:07:31 · Upravil/a: Cup
SELECT * FROM tabulka WHERE (sloupec1>10 AND sloupec1<20) OR ((sloupec1<10 OR sloupec1>20) AND sloupec2=8 ) nevím jesli to dobře chápu, ale zkus si nějak pohrát s výrokovou logikou ... toto by mohlo fungovat ... |
||
jenikkozak Profil |
#5 · Zasláno: 26. 2. 2011, 17:33:24
Cup:
„toto by mohlo fungovat ...“ Nemohlo, protože to bude ignorovat záznamy rovné 10 či 20 z prvního sloupce. Jako lepší bych viděl: SELECT * FROM tabulka WHERE sloupec1>10 AND sloupec1<20 OR sloupec2=8 |
||
Kajman_ Profil * |
V tomhle případě závorky nejsou potřeba, ale obecně je lepší si ty logické vazby zazávorkovat, aby se chovaly podle potřeby.
SELECT * FROM tabulka WHERE (sloupec1>10 AND sloupec1<20) OR sloupec2=8 |
||
jenikkozak Profil |
#7 · Zasláno: 28. 2. 2011, 11:00:36
Kajman:
Myslel jsem, že logický součin má před logickým součtem přednost. Já si také ve skriptech pro přehlednost píšu závorky i tam, kde by být nemusely. Jak bylo řečeno, v tomto konkrétním případě budou vráceny stejné výsledky i kdyby AND při vyhodnocování přednost nemělo. |
||
Časová prodleva: 14 let
|
0