Announcement

Collapse
No announcement yet.

Datenbank Abfrage erweitern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbank Abfrage erweitern

    Hallo,

    ich will diese Datenbankabfrage um eine weitere Tabelle erweitern

    Code:
    SELECT
                                    katalog.katalog_id,
                                    bezeichnung.bezeichnung,
                                    katalog.bezeichnung as alternativ,
                                    katalog.artikel,
                                    katalog.bestell,
                                    hersteller.lieferant
                               FROM
                                    katalog
                               LEFT JOIN
                                    bezeichnung
                               ON
                                    bezeichnung.bezeichnung_id=katalog.bezeichnung_id
                               LEFT JOIN
                                    lieferant hersteller
                               ON
                                    hersteller.lieferant_id=katalog.hersteller_id
                               WHERE
                                    katalog.katalog_id
                               NOT IN
                                   (SELECT lagerstand.katalog_ID FROM lagerstand)
                               
                               ORDER BY
                                   bezeichnung,alternativ,lieferant
    mit Dieser Abfrage die Funktioniert wird eine ComboBox gefüllt.
    und gleichzeitig schon eingetragene Artikel herausgefiltert.

    Diese soll jetzt um eine Tabelle erweitert werden.
    um Alternative Artikel ebenfalls auszusortieren

    Das Format:

    Tabellen Name: alternativen
    Spalte 1: alternativen_id ->Primary Key
    Spalte 2: katalog_id ->BigInt
    Spalte 3: alternative_id ->BigInt (=wieder der vorkommenden katalog_id)

    Der Inhalt sieht dann so aus

    Sp1 Sp2 Sp3
    1 1 2
    2 2 1
    3 1 3
    4 3 1
    5 2 3
    6 3 2
    7 4 5
    8 5 4 usw...


    so diese Alternativen Artikel sollen jetzt ebenfalls aussortiert werden wenn ein Artikel schon im Lagerstand verzeichnet ist.
    Um die Auswahl einzuschränken.

    Wenn Artikel 3 schon ein Lagerartikel ist müssen Artikel 1 und 2 ebenso ausgefiltert werden

    wo muss ich diese Erweiterung jetzt hinschreiben
    und wie muss diese erweiterung aussehen?

    DB ist eine PostgreSql

    Danke Peter

  • #2
    Originally posted by Lucifer21 View Post
    Hallo,

    ich will diese Datenbankabfrage um eine weitere Tabelle erweitern

    so diese Alternativen Artikel sollen jetzt ebenfalls aussortiert werden wenn ein Artikel schon im Lagerstand verzeichnet ist.

    Wenn ich Dich richtig verstehe, willst Du die Liste der ID's, die im NOT IN(...) stehen, erweitern. Erweitere also dort, z.B. via UNION.

    Comment


    • #3
      Hallo,

      ist Bereits gelöst Abfrage sieht so aus.

      SELECT
      katalog.katalog_id,
      bezeichnung.bezeichnung,
      katalog.bezeichnung as alternativ,
      katalog.artikel,
      katalog.bestell,
      hersteller.lieferant
      FROM
      katalog
      LEFT JOIN
      bezeichnung
      ON
      bezeichnung.bezeichnung_id=katalog.bezeichnung_id
      LEFT JOIN
      lieferant hersteller
      ON
      hersteller.lieferant_id=katalog.hersteller_id
      WHERE
      katalog.katalog_id
      NOT IN
      (SELECT lagerstand.katalog_ID FROM lagerstand)
      AND
      katalog.katalog_id
      NOT IN
      (SELECT alternative_id FROM alternativen,lagerstand WHERE lagerstand.katalog_id=alternativen.katalog_id)
      ORDER BY
      bezeichnung,alternativ,lieferant
      Danke.

      mfg Peter

      Comment

      Working...
      X