ich nutze Base um in unserem ERP-System verschiedene Daten auszulesen.
Ich bekomme mit dieser Abfrage die Daten, die ich brauche:
Code: Alles auswählen
SELECT * FROM "v_wtd_pze_monabrg" WHERE "jahr" = 2022 AND "c_list_tagtypen" LIKE '%x K%' ORDER BY "krz", "jahr", "monat"
Code: Alles auswählen
krz jahr monat c_list_tagtypen
MA1 2022 1 16x FN:5x K
MA2 2022 3 18x FN:4x K
MA3 2022 2 10x BN:10x K
MA3 2022 6 10x BN:11x U:9x K
MA4 2022 8 13x FN:4x U:6x K
MA5 2022 1 1x K:20x BN
MA5 2022 2 19x BN:1x K
MA5 2022 3 14x BN:9x K
MA5 2022 4 18x BN:1x K
MA5 2022 5 17x BN:3x K
MA5 2022 7 15x BN:1x K:5x U
MA5 2022 8 15x BN:8x K
Kann ich die SQL-Funktion "COUNT(*)" irgendwie nutzen, um die Zahlen aus dem String heraus zu bekommen und zusammenzählen zu lassen oder läuft es auf ein Makro hinaus?
SUBSTRING geht ohne Suchfunktion nicht, weil die Reihenfolge der Einträge variiert, "K" steht nicht immer am Ende.
Falls Makro, dann würde ich es so tun:
- Ausführen der Abfrage ... keine Ahnung im Moment
- String in Array mit ":" als Trenner
- Ziffern vor "x" extrahieren und in Integer wandeln, falls Schicht="K"
InStr kenne ich. Die Umwandlung in Zahlen bekomme ich hin. Ausführen der Abfrage ist mir bisher schleierhaft.
SQL wäre mir aber lieber, falls es geht.
Möchte mir jemand helfen oder hat Tipps?
Danke fürs lesen