[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Es geht doch nichts über EDI-Probleme ;-)

    Und wenn Du eine View darüber machst?

    GG 4474

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ein Order By erlaubt meines Wissens nach keine Ausdrücke mehr sondern bezieht sich immer auf die Ergebnisfelder.
    Also, wenn man dynamische Sortierung benötigt, dann ein berechnetes Feld bilden und danach dann sortieren:

    select ..... Ausdruck as OrderByAusdruck
    from ....

    order by OrderByAusdruck
    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
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ein Order By erlaubt meines Wissens nach keine Ausdrücke mehr sondern bezieht sich immer auf die Ergebnisfelder.
    Da bist Du falsch informiert! Im OrderBy können sowohl die Ausdrücke als auch die neuen Spalten-Namen verwendet werden.
    In den WHERE-Bedinugnen, im Group by und im Having dürfen nur die Ausdrücke, nicht jedoch die neuen Spalten-Namen angegeben werden.
    Das war aber schon immer so, dass innerhalb des gleichen Sub-Selects die neuen Spalten-Namen nicht verwendet werden dürfen.
    Order By zählt nicht zum Sub-Select und deshalb können auch die neuen Spalten-Namen verwendet werden.

    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

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich habe gerade eine Datei generiert mit "exotischen" Feld-Namen und hatte keine Probleme.
    Die folgenden Statements konnten alle problemlos ausgeführt werden:

    Code:
    Create Table qtemp/mytable
    (A35#07 Integer,
     A45#08 VarChar(10));
     
    insert into myTable
    Values(1, 'AAA'), (2, 'BBB'), (3, 'CCC')
    With NC;                
    
    Select A35#07, A45#08
      from MyTable
      Where A35#07 = 2
      Order By A45#08;
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Schaut euch mal die Meldung noch mal genauer an:

    "SELECT/OMIT-Fehler in Feld Cast(Translate(STDDATIH_2.A35#07, *UNNAMED Table) AS Decimal(7,0)),"

    Mit dem Feldnamen hat das nichts zu tun (der wird erkannt) sondern mit einem fehlerhaften Vergleich.
    Das Feld A35#07 wird mit einem anderen Feld oder Konstanten in Decimal(7,0) verglichen (FELDB?). Dies führt beim Optimizer leider zum Problem des falschen casts, was zur Laufzeit dann zu einem Fehler führt, wenn der Inhalt nicht konvertierbar ist.
    Sieh zu, dass der Vergleichswert eher in CHAR gecastet wird.

    Was den Feldnamen angeht, so ist das "#"-Zeichen bei einer angepassten CCSID nicht mehr ansprechbar.
    Setze den Job z.B. auf CCSID(500) und das Feld wird nicht mehr gefunden, auch nicht in Anführungszeichen. Ganz schön fatal sowas, aber das ist ja ein anderes Thema.
    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

  6. #6
    Registriert seit
    Sep 2017
    Beiträge
    12
    Habe das Statement jetzt auch aus anderen Gründen in Text umgebaut und mit Prepare verwendet.
    Falls du deine Testdatei noch hast probier mal so, wie es im Thema steht, also mit
    "order by case when :a = 12 then a35#07 else feldB end".

Similar Threads

  1. CASE in Kombination mit IN
    By mojo in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 27-05-15, 11:01
  2. Liste mit Spoolfile-Attributen wird automatisch erzeugt / gedruckt
    By JoergHamacher in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-04-15, 10:38
  3. CRTSQLRPGI erzeugt 2 Wandlungsllisten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 04-07-14, 11:20
  4. SQL update mit order by
    By Robi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-03, 14:14
  5. Umfrage: Wie viel Umsatz erzeugt das Nb market im Monat?
    By Burgy Zapp in forum NEWSboard Server & Hardware Markt
    Antworten: 5
    Letzter Beitrag: 08-07-02, 14:39

Tags for this Thread

Berechtigungen

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