IN (SUBQUERY)

IN (SUBQUERY)

am 05.04.2007 10:59:16 von Ralf Weber

Hallo,

ich moechte in einem SQL-Statement folgendes Auslesen:
Alle Firmen, die mit einem bestimmten Buchstaben beginnen und nicht in
der Kategorie '0' sind. Die Daten sind in 2 Tabellen gespeichert. Eine
enthaelt die Firmen mit den Namen und eine die Firmen-Kategorien-
Zuordnung.
Ich habe nun folgenden Query:

SELECT ID FROM Firmen WHERE (Name LIKE 'a%') AND (ID IN (SELECT
Firm_ID AS ID FROM Firm2Kateg WHERE Kateg_ID<>0))

--> Fehlermeldung: "#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 'SELECT Firm_ID AS ID FROM `Firm2Kateg` WHERE
Kateg_ID<>0)"

Wenn ich denn Teil-Query, der innerhalb der Klammern steht (nach IN),
fuer sich ausfuehre bekomme ich jedoch das richtige Ergebnis
geliefert, alle Firmen-IDs die nicht in Kategorie 0 stehen.
Da die Fehlermeldung nicht mehr hergibt bin ich nun am Ende meines
Lateins.

Was ist nun eigentlich falsch an dem Query?
Habe ich irgendetwas wichtiges uebersehen?

Vielen Dank schon mal fuer die Hilfe!

MfG, Ralf...

Re: IN (SUBQUERY)

am 05.04.2007 11:16:54 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: IN (SUBQUERY)

am 05.04.2007 11:46:14 von Ralf Weber

Hallo Andreas,

danke fuer die schnelle Antwort!

> Schnellschuß: alte Version, Subselects gehen erst ab irgendwann, Deine
> Version ist älter.

Du liegst richtig, ab Version 4.1 um genau zu sein - mein Server
verwendet 4.0.27.

Okay, dank dir habe ich auch gleich die passende Seite gefunden zum
Umschreiben eines Subquery fuer aeltere Versionen von MySQL.

Grueße aus Sachsen...

Re: IN (SUBQUERY)

am 05.04.2007 11:52:02 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de