yo Rouven,
wenn ich sie richtig verstanden habe, dann ist "suche.alter" keine neue tabelle, sondern einfach nur eine variable, die von aussen kommt....
Ilja
Es gibt zwei Tabellen:
suche:
id MEDIUMINT(8) UNSIGNED AUTO_INCREMENT PRIMARY KEY
alter INT(2) NULL
geschlecht TINYINT(2) NULL
user:
id MEDIUMINT(8) UNSIGNED AUTO_INCREMENT PRIMARY KEY
name VARCHAR(255) NOT NULL
alter INT(2) NULL
geschlecht TINYTINT(2) NOT NULL
in der suche-Tabelle sind Suchparameter gespeichert.
In der user-Tabelle befinden sich die Benutzer, die durchsucht werden sollen, und zwar so:
SELECT user.name FROM suche, user WHERE user.geschlecht = suche.geschlecht AND user.alter = suche.alter
Mein Problem ist nur folgendes:
Wenn suche.alter oder suche.geschlecht gleich NULL ist, dann sucht er in der user-Tabelle auch nach NULL-Werten!
Ich will aber, dass er die Bedingung dann garnicht abfragt!
Also ich will im prinzip sowas:
SELECT user.name FROM suche, user WHERE IF(suche.geschlecht IS NOT NULL, user.geschlecht = suche.geschlecht, '') AND IF(suche.alter IS NOT NULL, user.alter = suche.alter, '')