Announcement

Collapse
No announcement yet.

SELECT WHERE Klausel

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

  • SELECT WHERE Klausel

    Folgendes Problem habe eine SELECT Anweisung die Funktioniert

    SQL_Abfrage = "SELECT"
    SQL_Abfrage = SQL_Abfrage & " lagerstand.Lagerstand_ID,lagerstand.Katalog_ID,kat alog.Menge,katalog.Einheit_ID,katalog.Bezeichnung as Kat_Bez,katalog.Artikell,katalog.Bestell,bezeichnu ng.Bezeichnung"
    SQL_Abfrage = SQL_Abfrage & " ,lieferant.Lieferant,einheit.Einheit"
    '
    ' Angaben der Abfrage Tabellen
    SQL_Abfrage = SQL_Abfrage & " FROM"
    SQL_Abfrage = SQL_Abfrage & " lagerstand,katalog,bezeichnung,lieferant,einheit"
    '
    ' Die Abfrage Klauseln
    SQL_Abfrage = SQL_Abfrage & " WHERE"
    SQL_Abfrage = SQL_Abfrage & " katalog.Bezeichnung_ID=bezeichnung.Bezeichnung_ID"
    SQL_Abfrage = SQL_Abfrage & " AND katalog.Lieferant_ID=lieferant.Lieferant_ID"
    SQL_Abfrage = SQL_Abfrage & " AND katalog.Einheit_ID=einheit.Einheit_ID"
    SQL_Abfrage = SQL_Abfrage & " AND lagerstand.Lagermenge<=lagerstand.Min_Menge"
    SQL_Abfrage = SQL_Abfrage & " AND lagerstand.Katalog_ID=katalog.Katalog_ID"
    SQL_Abfrage = SQL_Abfrage & " AND lagerstand.Bestellen='J'"
    Die Funkioniert keine Probleme

    jetzt soll in einer weiteren Tabelle "bestellung" Nachgesehen werden ob es dort Datensätze gibt und diese sollen dann im Ergebnis nicht vorkommen

    Die Zweite Abfrage die in die Erste noch inkludiert werden muss
    SELECT Bestellung_ID FROM bestellung WHERE bestellung.Katalog_ID=Katalog_ID AND bestellung.Erledigt='N'
    Wie verbinde ich jetzt beide Richtig?

    mfg Peter

  • #2
    Kannst du mal die erste SQL SELECT so posten, dass der ganze andere Schmafuh weg is??? In etwa:

    SQL1:
    Code:
    SELECT x,y,z FROM tblx WHERE....
    SQL2:
    Code:
    SELECT Bestellung_ID FROM bestellung WHERE bestellung.Katalog_ID=Katalog_ID AND bestellung.Erledigt='N'
    danke!

    Comment


    • #3
      Code:
      SELECT lagerstand.Lagerstand_ID,lagerstand.Katalog_ID,katalog.Menge,katalog.Einheit_ID,katalog.Bezeichnung as Kat_Bez,katalog.Artikell,katalog.Bestell,bezeichnu ng.Bezeichnung,lieferant.Lieferant,einheit.Einheit FROM lagerstand,katalog,bezeichnung,lieferant,einheit WHERE katalog.Bezeichnung_ID=bezeichnung.Bezeichnung_ID AND katalog.Lieferant_ID=lieferant.Lieferant_ID AND katalog.Einheit_ID=einheit.Einheit_ID AND lagerstand.Lagermenge<=lagerstand.Min_Menge AND lagerstand.Katalog_ID=katalog.Katalog_ID AND lagerstand.Bestellen='J'
      Hoffe das es so passt

      mfg Peter

      Comment


      • #4
        ohne tabellen schwer, aber versuchs mal damit:

        Code:
        SELECT 
        	lagerstand.Lagerstand_ID,
        	lagerstand.Katalog_ID,
        	katalog.Menge,
        	katalog.Einheit_ID,
        	katalog.Bezeichnung as Kat_Bez,
        	katalog.Artikell,
        	katalog.Bestell,
        	bezeichnung.Bezeichnung,
        	lieferant.Lieferant,
        	einheit.Einheit,
        	bestellung.Bestellung_ID
        FROM 
        	katalog
        		LEFT JOIN lagerstand ON lagerstand.Katalog_ID=katalog.Katalog_ID AND lagerstand.Lagermenge<=lagerstand.Min_Menge AND lagerstand.Bestellen='J'
        		LEFT JOIN bezeichnung ON bezeichnung.Bezeichnung_ID=katalog.Bezeichnung_ID
        		LEFT JOIN lieferant ON lieferant.Lieferant_ID=katalog.Lieferant_ID
        		LEFT JOIN einheit ON einheit.Einheit_ID=katalog.Einheit_ID
        		INNER JOIN bestellung ON bestellung.Katalog_ID=Katalog_ID AND bestellung.Erledigt='N'
        Ich hoff ich hab dich richtig verstanden....

        Comment


        • #5
          ach blödsinn....

          was ich meinte war eigentlich: generiere dir nen view mit den ganzen joins und dann frag den view mit denen kriterien ab...

          Comment


          • #6
            Danke,
            werde mal die Abfrage bei gelegenheit ausprobieren
            Bin jetzt beim neuen Aufbau des Programms

            mfg Peter

            Comment

            Working...
            X