Mailinglisten-Archive |
Hallo, ich hab hier eine SQL-Abfrage und kapiere einfach nicht warum nicht dass rauskommt was soll. Hier die Abfrage: SELECT * FROM `adresse` WHERE ( (`PLZ` >= 60000 AND `PLZ` < 61000) OR (`PLZ` >= 63200 AND `PLZ` <= 663329) OR (`PLZ` >= 64200 AND `PLZ` <= 64409) OR (`PLZ` >= 64500 AND `PLZ` <= 64589) OR (`PLZ` >= 67500 AND `PLZ` <= 67599) OR (`PLZ` >= 67260 AND `PLZ` <= 67319) OR (`PLZ` >= 67800 AND `PLZ` <= 67829) ) AND `LAND` LIKE 'D' ORDER BY `PLZ` Problem: Es werden PLZ von 60313 (korrekt) bis 97828 (warum sind die mit drin?) angezeigt. Oder anderes ausgedrückt, warum bekomme ich nicht einfach all die PLZ Gebiete, welche ich angegeben habe? Mit nur einem PLZ Gebiet läuft die Ausgabe völlig korrekt: SELECT * FROM `adresse` WHERE (`PLZ` >= 60000 AND `PLZ` < 61000) AND `LAND` LIKE 'D' ORDER BY `PLZ` Hier nochmal die Tabellenstruktur: CREATE TABLE adresse ( adrid int(11) NOT NULL auto_increment, Name varchar(40) default NULL, Vorname varchar(30) default NULL, Anrede varchar(40) default NULL, Strasse varchar(30) default NULL, Land varchar(5) default NULL, PLZ varchar(8) default NULL, Ort varchar(30) default NULL, Briefanrede varchar(40) default NULL, Fonpriv varchar(30) default NULL, Fongesch varchar(30) default NULL, Handy varchar(30) default NULL, Fax varchar(30) default NULL, Mail varchar(40) default NULL, Homepage varchar(30) default NULL, Preisliste varchar(30) default NULL, Freitext text, Bestellung text, Rabatt int(11) default NULL, Tour varchar(20) default NULL, Kundengewinnung varchar(20) default NULL, Kategorie varchar(30) default NULL, Referenz int(11) default NULL, S1 varchar(20) default NULL, S2 varchar(20) default NULL, S3 varchar(20) default NULL, S4 varchar(20) default NULL, S5 varchar(20) default NULL, PRIMARY KEY (adrid), KEY Name (Name), KEY Vorname (Vorname), KEY Anrede (Anrede), KEY Ort (Ort), KEY Referenz (Referenz) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Gruß Ernst
php::bar PHP Wiki - Listenarchive