[NEWSboard IBMi Forum]

Thema: SQL

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.077

    SQL

    Hallo *all,
    ich habe 2 Tabellen die ich mit sql bearbeiten will, leider sind in jeder Tabelle jeweils 100 Felder drin von denen ich aber nur jeweils die Hälfte brauche. Ich kann ja jetzt ein select feld1, feld2,feld3 from tabelle machen, gibt es da auch ein Ausschlußverfahren.
    Sprich select * bis auf Feld9,feld10,feld11?

    GG

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.879
    ... wenn Du jeweils die Hälfte brauchst ist es gehopst wie gesprungen, ob Du die Felder einzeln angibst oder einzeln ausschließst.

    Ansonsten gibt es keine Ausschlussmöglichkeit.

    Wenn Du die gleichen Felder mehrfach, d.h. in mehreren Abfragen benötigst, wäre vielleicht noch eine View eine Möglichkeit. (Auch hier musst Du beim Erstellen der View alle Felder die Du brauchst auflisten, kannst aber dann SELECT * FROM VIEW verwenden).

    Birgitta
    Birgitta Hauser

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

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    104
    Kennst Du überhaupt die Bedienerführung (F4), die es Dir erspart, alle Feldnamen einzutippen ?

    Nach F4 für den SELECT-Befehl und nochmal F4 in der Eingabezeile für Felder bekommst Du eine Feldliste, aus der die gewünschten Felder ausgewählt werden können.

    Sprich select * bis auf Feld9,feld10,feld11?
    Wenn Du die Felder abfragen willst, (das geht ja über die SYSCOLUMNS), dann kannst Du das etwa so programmieren:

    SELECT SYSCOLUMN FROM SYSCOLUMNS where SYSTABLE='MYFILE' and SYSCOLUMN not in ('FELD09', 'FELD10', 'FELD11')

    Um daraus noch eine korrekt geschriebene Feldliste zu machen, dürfte aber ein kleine SQL-Prozedur erforderlich sein, welche die Zeichenkette der Feldnamen und jeweils ein Komma dazwischen liefern sollte. Dann könntest Du den ganzen SQL-Befehl zusammensetzen und dynamisch ausführen lassen.

    Ich habe so was schonmal programmiert, um dynamisch beliebige Kriterien abfragen zu können, welche Anwender vorab in Tabellen erfassen durften, ohne selber SQL zu können, oder SQL-Abfragen erfassen zu dürfen.

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Zitat Zitat von UFK Beitrag anzeigen
    Kennst Du überhaupt die Bedienerführung (F4), die es Dir erspart, alle Feldnamen einzutippen ?

    Nach F4 für den SELECT-Befehl und nochmal F4 in der Eingabezeile für Felder bekommst Du eine Feldliste, aus der die gewünschten Felder ausgewählt werden können.
    Kannte ich wahrhaftig noch nicht.
    Danke für die Info

    GG

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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