Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Multi IDs im Select Abfragen

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von AnimaTow, 27 August 2020.

  1. AnimaTow

    AnimaTow Neuer Benutzer

    Hallo ich habe da mal eine frage und vielleicht kann mir ja einer helfen oder ein Tip geben

    also ich habe zwei Tabellen Flaschen / und Flaschen Extras

    Ich versuche grade Flaschen auszulesen mit einer bestimmten KundenId, wobei eine KundenID macht mir hier kein Problem, ich habe mehr das Problem wenn es mehrere KundenIds sind
    Code:
    SELECT A.Id AS flaschen_Id, A.CTN AS CTN, B.Wert AS SKU, A.Auftragsnummer AS Auftragsnummer, A.VersandDatum AS VersandDatum, A.LieferDatum AS LieferDatum, A.RuegabeDatum AS RuegabeDatum, C.Wert AS KundenId 
    FROM flaschen A 
    INNER JOIN flaschen_extras AS B ON (A.Id = B.FId AND B.FKey = 'SKU') 
    INNER JOIN flaschen_extras AS C ON (A.Id = C.FId AND C.FKey = 'JTLKundenId') 
    WHERE A.STATUS = '2' AND B.FKey = 'SKU' AND C.Wert IN ('11263,5357,6236,9146') 
    ORDER BY A.VersandDatum DESC LIMIT 0, 20
    
    um die abfrage geht es kann mir einer verraten warum ich keine werte ausgegeben bekomme wenn ich mehrerer Ids in der DB Abfragen möchte im Beispiel sind es 4 Ids wenn ich das ganze nur mit einer Id mache geht es wiederum

    AND C.Wert IN ('11263,5357,6236,9146') geht nicht
    AND C.Wert IN ('11263') geht

    kann mir da einer ein Tipp geben ?
     
    Zuletzt bearbeitet: 27 August 2020
  2. AnimaTow

    AnimaTow Neuer Benutzer

    Hab es schon Rausgefunden

    Code:
    SELECT A.Id AS flaschen_Id, A.CTN AS CTN, B.Wert AS SKU, A.Auftragsnummer AS Auftragsnummer, A.VersandDatum AS VersandDatum, A.LieferDatum AS LieferDatum, A.RuegabeDatum AS RuegabeDatum, C.Wert AS KundenId 
    FROM flaschen A
    INNER JOIN flaschen_extras AS B ON (A.Id = B.FId AND B.FKey = 'SKU')
    INNER JOIN flaschen_extras AS C ON (A.Id = C.FId AND C.FKey = 'JTLKundenId')
    WHERE A.STATUS = '2' AND B.FKey = 'SKU' AND (C.Wert = '11263' OR C.Wert = '5357' OR C.Wert = '6236' OR C.Wert = '9146')
    ORDER BY A.VersandDatum DESC LIMIT 0, 20
    
    in dem fall habe Ich das einfach in (......) gesetzt und einfach OR abfragen benutzt !! das geht auf jeden fall
     
  3. akretschmer

    akretschmer Datenbank-Guru

    in ('a','b','c') würde auch gehen. Aber 'a,b,c' ist halt EIN Wert.
     
    Ludwigmller und AnimaTow gefällt das.
  4. AnimaTow

    AnimaTow Neuer Benutzer

    Ahhh stimmt hatte ich grade getestet den weiss ich jetzt auch wo der Fehler war.

    Thx akretschmer ;)))
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden