Wie es die Überschift schon sagt möchte ich gerne eine SQL mit substring machen.
Die Anweisung sieht bis jetzt so aus:
SELECT PRUEFUNGEN.MASCHINENNR,
PRUEFFEHLER.FEHLERCODE,
FCODELISTE.BEZEICHNER,
FROM PRUEFUNGEN INNER JOIN
FCODELISTE ON SUBSTRING(PRUEFFEHLER.FEHLERCODE, 1, 1) = FCODELISTE.CODE AND FCODELISTE.VORIGECODESTELLE = '0'
WHERE (PRUEFUNGEN.MASCHINENNR = @Maschinennr)
Soweit funktioniert das ganze auch das Problem ist nur das "PRUEFFEHLER.FEHLERCODE" 3 stellen haben kann zb.: ABC so nun müßte ich den Teil der Abfrage mit dem Substring drei mal einsetzen und die substring stelle anpassen.
So und nun kommt auch mein Problem, ich muss der Abfrage jetzt irgendwie beibringen das ich noch 2 weitere spalten hab durch die anderen zwei stellen im Fehlercode. Aber wie?
Hallo David_Ilm,
wenn ich dich richtig verstanden habe, dann hast du in der Tabelle PRUEFFEHLER, die Einträge der Prüffehler, wobei sich der Fehlercode aus einer 3-stelligen Zeichenfolge zusammensetzt. Mein Vorschlag wäre hier zuerst eine Abfrage zu konstruieren, die dir den 3-stelligen Fehlercode splittet, und diese dann als SubSelect in deiner From Klausel zu verwenden. Allerdings habe ich nicht ganz verstanden, wie Du deine Ausgabe nachher haben möchtest. Du hast ja, für jedes Fehlercode-Zeichen einen eigenen Bezeichner, oder habe ich das missverstanden. Mit meinem Ansatz sollte es dir möglich sein, eine Ausage in der Art zu konstruieren:
MaschinenNr | Fehlercode | Bezeichner
---------------------------------------------------------
450 A Fehler A
450 C Fehler C
wenn bei Maschine 450, Fehlercode A und C aufgetreten sind... Ist es soetwas was du möchtest?
-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).
Mein Blog: Yellow's Blog auf sqlgut.de
Ja so ähnlich meine ich das nur das die ausgabe so aussehen sollte
MaschinenNr | Fehlercode | Fcodestelle1 | Fcodestelle2 | Fcodestelle3 |
---------------------------------------------------------------------------------------------
450 ABC Fehler A Fehler B Fehler C