[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2011
    Beiträge
    3
    Vielen Dank für die rasche Antwort! Es geht bei der ganzen Sache um den Connect zischen einem Shop-Backend und einem CRM. Die Daten sollen vom Shop-Backend ins CRM laufen.
    Dies geschieht allerdings nicht direkt, sondern über eine Interface-Tabelle. Zum jeweiligen actiontype wie z.B. 1 für "Add or Update Kundendaten" werden alle relevanten Kundendaten vom Backend über ein PHP-Script in das `datafield` der Interfacetabelle geschrieben. Anschließend gibt es zwei Möglichkeiten, entweder ich erstelle einen View oder eine Prozedur, auf die ich mit meiner Taskverwaltungssoftware zugreife. Hierfür muss ich wie erwähnt das `datafield` splitten.
    Wie ich die Werte trenne ist eigentlich egal, wichtig ist jedoch das alles auf Datenbankebene stattfinden sollte.
    Ich bin mit SQL noch nicht so bewandert, wie müsste denn eine mögliche Schleife für diesen Fall in MySQL aussehen?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das Problem hier ist die Variabilität.

    Liegen immer 4 Felder vor ?
    Kann der INSTR einen Startwert vorgeben ?
    Dazu kenne ich den MySQL-Dialekt nicht.

    Das 1. Feld
    substr(Feld, 1, instr(1, Feld, ',')-1)

    Das 2. Feld
    substr(Feld, instr(1, Feld, ',')+1, instr(instr(1, Feld, ',')+1, Feld, ',') - instr(1, Feld, ',') - 2)

    usw.

    Kann der Bereitsteller der Daten das denn nicht in fest formatiert, also mit fester Länge je Einzelwert zur Verfügung stellen ?

    Alternativ kannst du ggf. eine SQL-Function erstellen:

    create Function MySplit (Index Integer, Feld Varchar(nn))
    returns varchar(nn)

    und dann über eine Do-Schleife die Werte zerlegen.

    Dann kannst du die Funktion im Select verwenden:

    select MySplit(1, Feld), MySplit(2, Feld) ...
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    May 2011
    Beiträge
    3
    Es liegen immer 4 Felder vor und die Reihenfolge ist immer die Gleiche:
    Wert 1 entspricht immer user_id
    Wert 2 entspricht immer first_name
    Wert 3 entspricht immer last_name
    Wert 4 entspricht immer company

    `datafield`= user_id,first_name,last_name,company

    Ich bin mit SQL noch nicht so bewandert, wie müsste denn eine mögliche Schleife für diesen Fall in MySQL aussehen?

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... routines (stored proocedures und user defined functions) gibt es bei MySql ab Version 5 - und da gibt es auch ein Handbuch, Tutorials und Beispiele im Web (Mr. google hilft manchmal ungemein!).

    ... instr(), das du ja bereits kennst, liefert immer das erste vorkommen des Suchstrings, das Ding kann man also auch schachteln.

    das sollte eigentlich reichen, ein wenig darf ein Frager auch noch selber machen.

    D*B

    PS: so einen Krampf vermeidet man durch ein Minimum an Design in seinen Anwendungen!!!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. 4 gepackte Felder in ein DATE Feld für SQL Abfrage
    By cicero22 in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 29-10-07, 13:08
  2. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  3. ILE Feld in Feld ansprechen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 10-05-06, 16:26
  4. Felder mit SQL einer Datenbank hinzufügen!
    By muadeep in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 23-04-04, 09:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •