[NEWSboard IBMi Forum]

Thema: SQL Problem

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Was darfst Du denn dann überhaupt verwenden?
    Ich würde empfehlen ein Programm (mit native I/O) zu schreiben, dann brauchst Du überhaupt kein SQL.
    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

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    421
    Darf es denn Subselects sein?
    Dann könntest du mit einem Subselect alle Sätze >= deinem Datum, das dann nach POS absteigend (DESC) sortieren und davon den ersten via Fetch First Row ermitteln.
    Dann hast du auch dein X oder _
    Falls eben nur kein CTE erlaubt ist aber ein Subselect schon ... warum auch immer es solche Vorgaben gibt.

    lg Andreas

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Statt CTE kann man den "x"-Ausdruck auch direkt
    Code:
    Select Mark from
       (Select Nummer, Num2, Max(VKDAT) MaxVkDat
          from YourTable  
       Where     Nummer = 310000006
           and Num2   = 90080
           and VKDat <= 20190828
        Group By Nummer, Num2
    ) x
    join yourTable y on x.Nummer = y.Nummer
                          and x.Num2 = y.Num2
                          and VKDat  = MaxVkdat
    Order By Zeile Desc
    fetch first 1 rows only
    kodieren:
    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

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    371
    wenn das leben normal laufen würde hätte ich es so gelöst

    with blabla as (
    SELECT nummer,num2, vkdat, max(UMZST) as aaa FROM table
    group by nummer,num2, vkdat
    order by nummer,num2, vkdat )

    select top 1 aaa from test where nummer=parmnummer and num2=parmnum2 and vkdat <= parmvkdat
    order by nummer desc,num2 desc , vkdat desc

    und fertig wär die lutzi . Aber das Leben ist nicht normal .. das ganze muss in views und zwar alles getrennt . cte und first top soll nicht verwendet werden

  5. #5
    Registriert seit
    Aug 2006
    Beiträge
    2.115
    Vielleicht drückst Du dem jenigen der solche Vorgaben macht mal einen Abakus in die Hand. Die Russen rechnen noch heute gerne damit.
    Alternativ die Firma wechseln und zu einem vernünftigen Laden gehen. Soll es noch geben, wenn leider auch sehr wenige....

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Wenn Du eine View anstatt einer CTE verwenden sollst, warum machst Du dann nicht aus der CTE eine View und verwendest diese?

    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

  7. #7
    Registriert seit
    Nov 2007
    Beiträge
    371
    glaub ich machs so ..
    view 1
    SELECT nummer,num2, vkdat, max(UMZST) as umzst FROM table
    group by nummer,num2, vkdat
    order by nummer,num2, vkdat )

    view 2
    select nummer,num2,Max(vkdat) , max(umzst)from view1
    group by nummer, num2

    select UMZST from view2 where nummer='000000000310000006' and num2='9000000080' and VKDAT <= '20201202'

    sollte funzen ...

  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    759
    Zitat Zitat von woodstock99 Beitrag anzeigen
    sollte funzen ...
    ...und Teil Deiner Strategie werden. Logik aus dem Code in die Datenbank zu legen (kombinierte Views) ist ein anerkennenswerter Ansatz.

Similar Threads

  1. CL-Problem
    By iginla in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 31-03-03, 10:59
  2. QRY - Problem
    By Günter Majewski in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 07-01-03, 16:10
  3. SQL - Problem
    By Tommy in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 16-12-02, 17:43
  4. SQL Problem
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 03-06-02, 14:30
  5. SQL-Problem
    By chrisi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-02-02, 09:46

Berechtigungen

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