Zum Inhalt springen

Prozeduraufruf in ORDER BY


TDM

Empfohlene Beiträge

Grüße,

ich hab das Problem, dass bei mir in einer Spalte ein Name eines Objektes steht, dieser beinhaltet 2 Zahlen. Damit die Zahlen unterschieden werden können, wird vom Auftraggeber folgendes Format vorgegeben:

<Zahl1>/<Zahl2>

logischerweise, ist die Spalte dank dem Slash ein String.

Nun muss ich aber in einer Selectanweisung Datensätze nach beiden Zahlen sortieren (erst Zahl1, dann Zahl2).

An sich dachte ich zwar, dass das einfach ist und ich ein ORDER BY-Statement nutzen kann, das wie folgt aussieht:


SELECT * FROM LoadRanges

ORDER BY cint(LEFT(Name, INSTR(Name, "/") - 1)) ASC, cint(MID(Name, INSTR(Name, "/") + 1)) ASC

Leider sagt mir Access da immer was von wegen "Ungültiger Prozeduraufruf". Ich hab's auch schon mit Pseudospalten probiert:

SELECT *, cint(LEFT(Name, INSTR(Name, "/") - 1)) AS C0, cint(MID(Name, INSTR(Name, "/") + 1)) AS C1 FROM LoadRanges

ORDER BY C0 ASC, C1 ASC

Aber auch hier scheint er das nicht wirklich zu wollen, denn Ich werde andauernd zur Parametereingabe aufgefordert.

Wie löse ich das am Geschicktesten?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja, das Problem ist nur, dass das Vorgabe war und bisherige Programme darauf aufsetzen.

Andere Ideen?

- Das könntest du mittels einer View kapseln, so dass die anderen Programme nicht stolpern

Außerdem ist der Name ja korrekt so und gilt damit (eigentlich) als atomarer Wertebereich.

Andere Ideen?

- Wenn du nach 2 Werten innerhalb 1 Spalte sortieren willst, ist es eben nicht mehr atomar

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Das könntest du mittels einer View kapseln, so dass die anderen Programme nicht stolpern

Wurde vom Chef abgelehnt.

- Wenn du nach 2 Werten innerhalb 1 Spalte sortieren willst, ist es eben nicht mehr atomar

Gut, Argument.

Gegenargument: Datenmodelländerung wurde auch abgelehnt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wurde vom Chef abgelehnt. [...] Datenmodelländerung wurde auch abgelehnt.
Das ist kein Argument. Wenn etwas offentsichtlich falsch bzw. schlecht designed ist (und das ist es hier) dann ist es Aufgabe desjenigen, der vor dem Problem sitzt (das wärst dann du) das genauso zu verargumentieren. Ein Chef ist nicht a priori bessr/kompetenter/allwissend dadurch, dass er eben Chef ist.

Leg ihm die Tatsache genauso dar, erläutere ihm das Worst-Case-Szenario (nämlich dass bei weiteren Änderungen/Ergänzungen dieser Art irgendwann das ganze System zusammenbrechen wird) und überzeuge ihn davon nicht an den Symptomen herumzudoktern bzw. doktern zu lassen sondern sich dem eigentlichen Problem zu widmen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

was für applikationen bauen auf so einem mist auf?

Es geht um Lastgruppierungen von Bauteilen (z.B. für Balkonanschlüsse).

Das ist kein Argument. Wenn etwas offentsichtlich falsch bzw. schlecht designed ist (und das ist es hier) dann ist es Aufgabe desjenigen, der vor dem Problem sitzt (das wärst dann du) das genauso zu verargumentieren. Ein Chef ist nicht a priori bessr/kompetenter/allwissend dadurch, dass er eben Chef ist.

Ich hab ihn schon mehrfach darauf hingewiesen, es kam immer ein "Nein, zu viel Aufwand" - Argument.

Aber nun auch egal, ich mach es jetzt im Programmcode und sortiere die Sachen nochmal mit Quicksort.

Nunja, hoffentlich kommt er dann nicht und regt sich über Performanceprobleme auf. :floet:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...