[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2020
    Beiträge
    2

    SQL variable Spaltenbezeichnungen

    Hallo,

    ich möchte die Spaltenbezeichnung einer Ausgabe variable, sprich zB. der Kalenderwoche definieren - gibt es hierfür einen Lösungsansatz ?

    Vielen Dank!

    LG Roman

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.621
    Wofür brauchst Du das überhaupt. Kannst Du das etwas näher beschreiben.
    Normalerweise sind Spalten-Namen (in Tabellen, Views, User Defined Table Functions) fix vorgegeben.
    In einem SELECT-Statement kannst Du die Spalten benennen und so andere Spalten-Namen, bzw. Spalten-Namen bzw. Überschriften generieren.

    M.E. kannst Du jedoch die Spalten-Namen nur mit Hilfe von dynamischem SQL dynamisch gestalten. Du klöppelst Dein SQL-Statement zur Laufzeit zusammen und integrierst die dynamischen Spalten-Namen.
    Das gleiche gilt, wenn Du eine Arbeits-Tabelle generieren möchtest.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion 2020
    Virtuelle SQL und RPG Schulungen

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    18.589
    Vom Grundsatz kannst du in SQL entweder dynamisch (wie Birgitta bereits gesagt) oder auch statisch die Spaltennamen definieren:

    select abc as "GroßKlein mit Leerzeichen", xyz as wirdimmergross
    from mytable

    Wichtig ist einfach, Groß-Kleinschreibung, Sonder- ind Leerzeichen in Anführungszeichen zu definieren.

    Lädst du die Daten z.B. in Excel mit MS-Query (externe Daten) wird allerdings ein Feldname in Anführungszeichen auch mit denselben als Überschrift angezeigt.
    Allerdings kann man die Eigenschaften der Abfrage bearbeiten und die Feldnamen als Überschrift ausblenden und eigene Überschriften in einer Zeile über dem Ergebnis definieren.

    Bei höheren Programmiersprachen spielt der Feldnamen dann allerdings keine Rollen mehr.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Apr 2020
    Beiträge
    2
    Hallo Brigitta,

    ich erstelle hier eine Tabelle mit einer Wochenvorschau. Zwecks der besseren Lesbarkeit möchte ich die einzelnen Spalten nicht mit Woche1, Woche2, Woche3,.... sondern mit den entsprechenden Kalenderwochen benennen. DH. ich habe Werte ab Kalenderwoche X und X+1, X+2, X+3,....
    Weiss nicht ob ich das jetzt Verständlich beschrieben habe...

    LG Roman

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    18.589
    Wie Birgitta schon sagte, du kannst dies dynamisch zusammen bauen.
    MyStr = 'select f1 as "M' + x + '" ...';
    exec sql prepare
    exec sql open

    Allerdings stellt sich die Frage, wo du das Ergebnis verwenden willst.
    Per Programm mittels Fetch musst du ja sowieso benannte Hostvariablen angeben und da sind die Spaltennamen vollkommen egal. Da zählt nur die Reihenfolge der Felder in der Into-Klausel.

    Willst du die Daten extern zur Verfügung stellen (ODBC, CSV, ...) kannst du ebenso einen
    "create table newtable as (select .....) with data"
    generieren.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

Ähnliche Themen

  1. embeddet SQL, Lib variable setzen
    Von dibe im Forum NEWSboard Programmierung
    Antworten: 34
    Letzter Beitrag: 07-12-18, 17:42
  2. Pointer Variable in TFR?
    Von LordCinimod im Forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 06-11-15, 05:56
  3. Variablenname in Variable
    Von harkne im Forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 04-12-14, 08:35
  4. SQL insert mit variable
    Von Robi im Forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-03-03, 09:16
  5. Variable
    Von Henrik Motzkus im Forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-03-02, 09:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •