SQL Befehl Kundennummern

Hallo,

ich suche einen SQL Befehl mit dem ich aus der Oxuser DB und hier das Feld Oxcustnr nach doppelten und ausgelassenen Nummer filtern/ausgeben lassen kann.

es sollen alle Kundennummer angezeigt werden die ausgelassen wurden, und auch die doppeltvergebenen.

mfg und danke für jede Hilfe.

mjkater

Hast du auch schon selbst irgendwas ausprobiert und versucht?

habe von sql nicht wirklich ahnung. habe wenigstens die datei und das entsprechende feld gefunden… daher meine bitte nach hilfe.

bin kein entickler, vieleicht ist das post auch falsch hier. ein admin soll/kann es dann bitte verschieben

nene, das ist hier schon richtig.
Aber welche Datei? Willst du die doppelten Nummern direkt im Shop angezeigt haben?

Sonst kann man es sich direkt über PhpMyAdmin aus der Datenbank abfragen und z.B: als CSV speichern.

ja, ich dachte in myphp admin den befehl einzugeben ausgabe als csv datei wäre super !

aber wie lautet der SQL befehl ?!

Kommst Du damit klar?

Damit findest Du die doppelten. Wobei das Feld mit der Kundennummer Autoincrement ist. Doppelte sollten da nicht vorkommen.

es geht vorallem um die anzeige der nummern die ausgelassen wurden. doppelte sind es nur wenige, weil wir , einen behobenen, fehler hatten. die aktuelle höchste zahl habe ich eingetragen und er erhöht wieder um +1.

ich hab hier keine lückenhafte Tabelle zum ausprobieren, aber laut google sollte das helfen:


SELECT a AS id, b AS next_id, (b - a) -1 AS missing_inbetween 
FROM (

    SELECT a1.oxcustnr AS a , MIN(a2.oxcustnr) AS b 
    FROM oxuser AS a1
    LEFT JOIN oxuser AS a2 ON a2.oxcustnr > a1.oxcustnr 
    WHERE a1.oxcustnr <= 100
    GROUP BY a1.oxcustnr 
    ) AS tab

WHERE b > a + 1

ausprobiert und das wird angezeigt:

id next_id missing_inbetween
2 4 1
32 34 1
46 48 1
53 55 1
63 66 2
81 83 1
86 88 1
96 98 1
100 103 2

ich denke das zeigt das zwischen 2 nummer x nummern fehlen.
ist zwar auch interessant aber nicht das was ich suche.

Das Ergebnis ist doch OK

32 34 1 = 33 fehlt
63 66 2 = 64 u. 65 fehlen… usw.

Damit hast Du doch alle fehlenden Nummern?

.

so habe ich das noch nicht gesehen…

wie kriege ich es jetzt noch hon das er das ergebnis als csv ablegt. oder kann ich das exportieren ? nur das ergebnis ?

  • alles erledigt, ich kann das angezeigte ergebnis kopieren und in excel importieren. dort kann ich dann ja die tatsächlichen fehl-nummer ausrechnen lassen

danke für eure hilfe !!

Du kannst dein Ergebnis aus deinem Thread markieren, kopieren und in ein leeres Dokument einfügen. Mach als Feldtrenner Leerzeichen und dann passt das.

Oder lad Dir den Anhang runter…

danke, hat geklappt , und steht jetzt komplett in einer excel datei. dort kämpfe ich jetzt damit mir automatisch die fehlenden zahlen in einer neuen spalte anzeigen zu lassen.

Hab jetzt kein Excel, aber dort wird es sicher einen Funktionsassistenten geben.

Bei OpenOffice sieht die der erste teil der Funktion so aus

=WENN(C3=1;A3+1)

bedeutet, wenn das Feld für die fehlenden Nummer 1 ist wird die Vorgänernummer um 1 erhöht. Du musst jetzt nur noch die Funktion erweitern, was passieren soll, wenn 2 oder mehr Nummern fehlen. Auch ohne tiefere Kenntnisse solltest Du Dir das mit der Maus zusammenklicken können.

für alle die auch mal so ein “problem” haben, die excel formel ist:

=WENN(SPALTE(A2)<=$C2;$A2+SPALTE(A2);"")

muss dann nur noch nach unten, bzw. sooft nach rechts kopiert werden wie die max. Anzahl der fehlenden Zahlen.

danke an alle für euro hilfe !