Ich habe eine Liste mit Bezirksnummern, Bezeichnungen und Einwohnerdifferenz. Nun möchte ich eine neue Spalte in einer Datenbank entwerfen, in der alle Bezirke, die eine Einwohnerdifferenz von 0-10 einen Eintrag 1 bekommen, alle von 11-20 eine 2, von 21-30 eine 3... usw.
Ich hoffte auf den Befehl IF then else.. was auch klappte, wenn ich nur 2 kategorien hätte. das habe ich eingegeben mit dem dem Resultat, dass alle zwischen 0-10 den Eintrag 1 erhielten allses übrige den Eintrag 0:
SELECT Beznr, Bez, Einwdiffprozent,
IF Einwdiffprozent between 0 AND 10 THEN 1
ELSE 0 ENDIF AS Aendkat
FROM BeznrDiff
Aber ich bekomme die Abfrage nicht erweiter zb mit And if Einwdiffprozent between 11 and 20 then 2.
Hat jemand eine Idee, wie ich zu meinem Ergebnis komme?
Vile Grüße
Judith
Ich hoffte auf den Befehl IF then else.. was auch klappte, wenn ich nur 2 kategorien hätte. das habe ich eingegeben mit dem dem Resultat, dass alle zwischen 0-10 den Eintrag 1 erhielten allses übrige den Eintrag 0:
SELECT Beznr, Bez, Einwdiffprozent,
IF Einwdiffprozent between 0 AND 10 THEN 1
ELSE 0 ENDIF AS Aendkat
FROM BeznrDiff
Aber ich bekomme die Abfrage nicht erweiter zb mit And if Einwdiffprozent between 11 and 20 then 2.
Hat jemand eine Idee, wie ich zu meinem Ergebnis komme?
Vile Grüße
Judith
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von KEngelberg am Sa., 03.09.2005 - 13:22
PermalinkAchtung: diese Abfrage liefer Klasse -1 für 0% und NICHT die von Dir gewünschten Klasse 0! 100% ergibt Klasse 9. Alle Klassen haben gleiche Klassenbreite und das ist eine wichtige Voraussetzung für viele weitergehende statistische Auswertungen wie Mittelwert... .
Wenn Deine Klassengrenzen unvermeidlich sind, dann nimm Fix() statt Int(). Gibt es nur Einwohnerzuwachs, d.h. keine negativen Differenzen? Andernfalls musst Du Dir den Unterschied zwischen Fix() und Int() klar machen, damit Du keine bösen Überraschungen erlebst.
Klaus