[gelöst] [SQLITE] Join Problem



  • Hallo Forum,

    ich glaub ich seh mal wieder den Wald vor Bäumen nicht.

    Ich habe 2 Tabellen, eine Namens Produkte die ca. 90 Einträge erhält, und eine 2. zu testzwecken, die im moment nur 2 Einträge erhält.

    Nun möchte ich 2 Stringlisten befüllen. Die erste soll alle und nur diese Einträge erhalten, die auch in Tabelle 2 drin sind.

    SELECT id, name FROM (produkte INNER JOIN test ON pid = id) ORDER BY id
    

    Funktioniert auch so wie ich möchte!

    Die 2 Stringliste soll alle jene einträge aus produkte enthalten, die nicht in Tabelle 2 enthalten sind.

    SELECT id, name FROM (produkte INNER JOIN test ON pid != id) ORDER BY id
    

    Und genau das funktioniert eben nicht .... bei dieser Abfrage sind alle Produkte aufgeführt, die die in Tabelle 2 sind einfach, die die nicht in der 2. sind doppelt ....

    Hat jemand nen Tip für mich bitte ?

    der Nala



  • Manchmal muss man erstmal was schreiben um den richtigen Denkanstoß zu finden

    SELECT * FROM produkte LEFT JOIN test ON id = pid WHERE pid IS NULL
    

    Und es funktioniert! 😃

    Der Nala



  • Ich hätte die Frage ja mit einem Sub-Select gelöst, aber so könnte es auch gehen 😃

    SELECT * FROM produkte WHERE in NOT IN (SELECT pid FROM test)
    

    (wenn du das NOT weglässt, erhältst du die Produkte, die in der test-Tabelle stehen)


Anmelden zum Antworten