[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2011
    Beiträge
    94

    SQL Globale Variable für "where in ..."

    Hallo zusammen,
    ich möchte mir im SQL eine globale Variable definieren die ich bei der WHERE IN Abfrage benutzen kann.

    z.B.
    PHP-Code:
    create or replace variable InPrl char(200) default('10006, 10011, 10015');

    select from Tabelle
     where char
    (Preislistein (InPrl
    Das funktioniert leider nicht. Wenn ich mehrere Variablen definiere läuft die Abfrage.
    Das ist aber leider nicht zielführend da ich zwischen 1 und xxx Variablen abfragen möchte.
    PHP-Code:
    create or replace variable Prl1 numeric(7) default(10006); 
    create or replace variable Prl2 numeric(7) default(10011);
    create or replace variable Prl3 numeric(7) default(10015);  

    select from Tabelle
     where Preisliste in 
    (Prl1Prl2Prl3
    Gibt es da eine elegante Möglichkeit?

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    create table inprl ...

    select ... where preisliste in(select feld from inprl)

    zur zus. flexibilität nuch einen status und/oder ein datum mit in die neue Datei ...
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das liegt nun mal in der SQL-Syntax für "in" begründet.
    Alterantiv ginge dann folgender weg:

    where position(Preisliste in Prl) > 0

    PRL kann dann mit "A B C" gefüllt werden.

    Allerdings kann dann kein Index verwendet werden.
    Für die Eindeutigkeit kann man sich auch Hilfskonstanten einfallen lassen:

    position('!' concat Preisliste concat '!' in Prl)
    Prl = '!AB! !AC! !AD!'

    um nicht Kombinationen zu finden die eigentlich ungültig sind.

    Nachtrag:
    Wenn bereits vorhanden, kann auch mit REGEXP_COUNT nach diversen Teilstrings mit einem Ausdruck komfortable suchen.
    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

Similar Threads

  1. Antworten: 1
    Letzter Beitrag: 19-07-17, 11:38
  2. Index Advisor: Was bedeutet "Empfohlene Indizes entfernen"
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 18-11-15, 15:38
  3. MinusField falsche Darstellung "ü" statt "-"
    By Edi in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 07-11-14, 07:52
  4. Variable als Selektionsbegriff im "in" bei embedded SQL
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 03-11-14, 16:26
  5. Cobol/400 - "Fett", "Unterstreichen" als HEX-Wert
    By RLurati in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 05-08-14, 09:10

Berechtigungen

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