*jiriki*: Wo liegt der Fehler dieser Abfrage?

Ich hab zwei Tabellen, "angebote" und "produkt", und möchte nun alle Lieferanten (über die lid aus "angebote") herausfiltern, die nicht alle Produkte (pid aus "produkt") anbieten. Das sollte mit folgender geschachtelten Abfrage gehen (ich hab sie nur leicht geändert von einem Musterbeispiel übernommen).

Der MYSQL-Parser muckt jedoch, und meint, dass es zu Beginn der ersten Subabfrage ein Problem geben würde. Seht ihr was?

select a.lid from angebote a
 where not exists

(select * from produkt p
 where not exists

(select * from angebote b
 where b.lid = a.lid and
 b.pid = p.pid
)
)

Greets und danke. *jiriki*

  1. Ohje. Die Datenbanken Klausur steht mir auch noch bevor. Genau das sollte ich eigentlich können... so langsam.

    Mir fällt nichts auf, weiß aber, dass MySQL < Version 4 Subanfragen nicht kennt. Daher vielleicht der Fehler. Bei mir laufen Subanfragen auch nicht, weil ich noch eine 3.2 Version habe. o.ä.

    Gruß
    Christian

    Ich hab zwei Tabellen, "angebote" und "produkt", und möchte nun alle Lieferanten (über die lid aus "angebote") herausfiltern, die nicht alle Produkte (pid aus "produkt") anbieten. Das sollte mit folgender geschachtelten Abfrage gehen (ich hab sie nur leicht geändert von einem Musterbeispiel übernommen).

    Der MYSQL-Parser muckt jedoch, und meint, dass es zu Beginn der ersten Subabfrage ein Problem geben würde. Seht ihr was?

    select a.lid from angebote a
    where not exists

    (select * from produkt p
    where not exists

    (select * from angebote b
    where b.lid = a.lid and
    b.pid = p.pid
    )
    )

    Greets und danke. *jiriki*

  2. yo,

    wie genau lautet den die fehlermeldung und welche mysql version benutzt du ?

    Ilja

    1. Die Fehlermeldung lautet:

      #1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'exists
      (select * from produkt p
      where not exists
      (select * f

      Und ich nutze die MySQL-Version 4.018

      Greets, *jiriki*

      1. Subqueries gibt es in MySQL erst ab Version 4.1

        Und ich nutze die MySQL-Version 4.018

        http://dev.mysql.com/doc/mysql/en/ANSI_diff_Subqueries.html