[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Tja, das mit dem S vor den anderen hatte ich schon probiert, führt aber zu der Fehlermeldung "Doppelte Schlüsselwerte".

    Da ich die Datei in Cobol bearbeiten will, muß ich eine LF haben.

    Ansonsten müßte ich den Zugriff auf SQL umstellen.
    Habe mir zwar den interessanten Vortrag von Herrn Bender angehört, aber noch keine Zeit das umzusetzen.

    Ich finde es aber erstaunlich das es nicht möglich ist im DDS zu sagen "Nur die Sätze auf die alle Bedingungen zu treffen zu selektieren".

    Nun ja, muß ich halt in Cobol schauen wie ich es mache.

    GG

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich finde es aber erstaunlich das es nicht möglich ist im DDS zu sagen "Nur die Sätze auf die alle Bedingungen zu treffen zu selektieren".
    DDS ist eine veraltetete Technologie und wird schon seit mindestens 4 Releasen nicht mehr weiterentwickelt. Deshalb haben wir ja die ganzen Neuerungen in Release 6.1 für die SQL Indices erhalten. (Übrigens unter 6.1 war diese Erweiterung in erster Linie nur für native I/O erst mit 7.1 konnte dann die SQE diese Zugriffspfade teilweise verwenden!).

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von KingofKning Beitrag anzeigen
    Ansonsten müßte ich den Zugriff auf SQL umstellen.
    ...
    Nun ja, muß ich halt in Cobol schauen wie ich es mache.

    GG
    ... das mit dem SQL ist sicherllich die nachhaltigere Lösung.
    Alternativ gibt es noch zwei Varianten:
    - OPNQRYF
    - alle lesen und filtern
    @OPNQRYF: ist zwar weniger schön als SQL und ein wenig tricky, aber ich würde das logischen mit select ommit allemal vorziehen, insbesondere dann, wenn ich viele solcher Ungetüme kriege und im Mix mit SQL fahre.
    Wenn die Selektivität unter 20 % (vieleicht auch 10%) liegt, würde ich insbesondere bei read only (wo man ja blocken kann) alles lesen und durch einen Filter rattern lassen, das ist dann auch am effektivsten.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn doppelte Schlüssel vorkommen können, lass das UNIQUE doch weg.
    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

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Es gibt nicht nur S für SELECT sondern auch noch O für OMIT.

  6. #6
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo GG,

    mir ist nicht ganz klar, was Du erreichen willst.
    Möchtest Du vielleicht so etwas:

    K TETENR
    S TEST11 COMP(EQ 50)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 53)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 58)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 100)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 101)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)

  7. #7
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Ich wollte erreichen das fogendes selektiert wird:

    A*____ S TESTS COMP(EQ 0) AND
    A*____ TEFA COMP(EQ 1) AND
    A* ____ TEST01 COMP(GE 20) AND
    A* ____ TEST01 COMP(LE 699)

    AND

    {A* ____ S TEST11 COMP(EQ 50)_OR
    A*____ TEST11 COMP(EQ 53)___OR
    A*____ TEST11 COMP(EQ 58)___OR
    A*____ TEST11 COMP(EQ 100)__OR
    A*____ TEST11 COMP(EQ 101) }

    GG

  8. #8
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    aber dann passt das doch, was ich geschrieben habe, oder nicht?

    K TETENR
    S TEST11 COMP(EQ 50)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 53)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 58)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 100)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)
    S TEST11 COMP(EQ 101)
    TESTS COMP(EQ 0)
    TEFA COMP(EQ 1)
    TEST01 COMP(GE 20)
    TEST01 COMP(LE 699)

  9. #9
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Hallo,

    danke für die Hilfe, sobald ich mal wieder Luft habe werde ich das nochmal durchprobieren und Rückmeldung geben.

    GG

  10. #10
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Probier mal so, aber ohne Gewähr.

    A O TESTS COMP(NE 0)
    A O TEFA COMP(NE 1)
    A O TEST01 COMP(LT 20)
    A O TEST01 COMP(GT 699)
    A S TEST11 COMP(EQ 50)
    A S TEST11 COMP(EQ 53)
    A S TEST11 COMP(EQ 58)
    A S TEST11 COMP(EQ 100)
    A S TEST11 COMP(EQ 101)

    S = SELECT
    O = OMIT

    Siehe auch: DDS SELECT/OMIT

Similar Threads

  1. SELECT..FOR UPDATE/Embedded SQL
    By KB in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 28-04-16, 14:42
  2. SQL SELECT Problem ?
    By a.wojcik in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 06-02-14, 13:29
  3. SQL Select
    By TARASIK in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-09-02, 10:59
  4. SELECT auf Datei mit Dateiendung
    By LaLeLi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 13-06-02, 12:41
  5. SQL SELECT mit Endsumme ?
    By Schnichels in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-01-02, 13:45

Berechtigungen

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