Autor Zpráva
Birkof
Profil
Zdravím, mám problém s SQL dotazem. Syntakticky je příkaz správně, ale:
- příkaz ignoruje - and typ='0' - prostě se vypisují všechny typy
- nešlo by ten výčet lokalit zjednodušit?

select count(id) as celkem from incidenty where rok='2008' and opraveno_dne like '%.5.' and opraveno_dne <> '' and typ='0' AND NOT misto="Odd. SW Holečkova" AND NOT misto="Holečkova Praha 5" AND NOT misto="Praha střed" AND NOT misto="Praha západ" AND NOT misto="Přeprava - Malešice" AND NOT misto="Praha jih" AND NOT misto="Praha sever" AND NOT misto="Praha 3" AND NOT misto="Praha 4" AND NOT misto="Správa majetku Holečkova" AND NOT misto="Holečkova Praha 5 - APOST" AND NOT misto="SVT MP" OR misto="Odd. HW Holečkova" OR misto="Beroun" OR misto="Benešov" OR misto="Kolín" OR misto="Mladá Boleslav" OR misto="Kutná Hora" OR misto="Příbram" OR misto="Mělník" OR misto="Nymburk" OR misto="Kladno" OR misto="Kolín-Apost" OR misto="Rakovník"

Předem moc dík za odpovědi.
Taps
Profil
Birkof
možná bych použil pole
TSD
Profil
Birkof
Ta místa bych řešil úplně jinak. Udělal bych si tabulku Mista, kde by bylo ID a nazev. Dotaz bych pak zredukoval na

..AND NOT misto IN (4,5,7,14,1) OR misto IN (3,6,10,11)

stejně mi ta kombinace AND NOT a OR je dost proti srsti a tuším za tím nějakou "haláščárdu" :)
TSD
Profil
Dovolím si malou spekulaci. Není to náhodou tak že těch míst může připadat v úvahu jěch těchto asi 15? A ty máš nějaký vyhledávací formuláč a v něm 15 měst = 15 checkboxů.

Jestli to tak je, tak celé to NOT misto IN (4,5,7,14,1) můžeš vyhodit. Jestli se pletu, tak .. jako bych nic nenapsal.
Birkof
Profil
Ne žádné checkboxy nepoužívám. ID místo názvů půjdou použít, to je pravda, jen jsem nevěděl, že to jde hodit do pole. S tím polem je to dobrý nápad a každopádně to již funguje. Moc dík všem za pomoc ;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: