Sprint
Erfahrenes Mitglied
Hallo zusammen,
das aktuelle Projekt läuft inzwischen länger als erwartet und nun kommen wir demnächst zu dem Zeitpunkt, an dem aus 5-stelligen Kundennummern 6-stellige werden. Die wurden ursprünglich mit 50000 gestartet, so daß alle, die mit 1-4 anfangen, die 6-stelligen sind. Das muß ich aber jetzt in eine DB Abfrage einbringen. Bisher sah die so aus:
In Pseudocode müßte das also in Zukunft so aussehen:
Das funktioniert aber nicht. Ich habe auch schon mit CASE gespielt, bekam aber auch da immer jede Menge Fehlermeldungen.
Gibt es eine Lösung dafür?
das aktuelle Projekt läuft inzwischen länger als erwartet und nun kommen wir demnächst zu dem Zeitpunkt, an dem aus 5-stelligen Kundennummern 6-stellige werden. Die wurden ursprünglich mit 50000 gestartet, so daß alle, die mit 1-4 anfangen, die 6-stelligen sind. Das muß ich aber jetzt in eine DB Abfrage einbringen. Bisher sah die so aus:
SQL:
SELECT k.kdnr AS kdid,
p.vknr AS kdnr
FROM pruefvk p,
kunden k
WHERE p.email = '$username'
AND p.geloescht = '0'
AND k.kdmerkmal = 6
AND Substr(p.vknr, 1, 5) = k.kdnr
SQL:
SELECT k.kdnr AS kdid,
p.vknr AS kdnr
FROM pruefvk p,
kunden k
WHERE p.email = '$username'
AND p.geloescht = '0'
AND k.kdmerkmal = 6
AND
IF (Substr(p.vknr, 1, 1) >= 5)
substr(p.vknr,1,5) = k.kdnr
ELSE
substr(p.vknr,1,6) = k.kdnr
Gibt es eine Lösung dafür?