cy: MySQL where if

Beitrag lesen

Hay!

Ich stehe seit gestern vor einem Problem, an dem ich nicht weiter komm und hoffe, dass mir jmd helfen kann?!

Ich mache eine Abfrage von Personen per PHP. Es sollen jetzt beliebige Monate in Jahren abgefragt werden wo diese Geburtstag haben.

Meine Tabelle sieht in etwa so aus:

----------------------------------
name     |geburtsmonat|geburtsjahr
----------------------------------
Paul P.  |08          |1980
Tim H.   |04          |1975

u.s.w.

Der Benutzer hat jetzt 3 input Fields, wo er
1. Geburtsmonat Anfang
2. Geburtsmonat Ende
3. Geburtsjahr(e) mit Komma getrennt
eingeben kann.

Bei mir sieht das bis jetzt so aus:

  
SELECT * FROM menschen WHERE (anderer ausschluss)  
AND (geburtsjahr = ".$gj." AND geburtsmonat < '".$gmmin."' AND geburtsmonat > '".$gmmax."')  

auch probiert habe ich sämtliche Variationen von IF z.B.

  
SELECT * FROM menschen WHERE (anderer ausschluss)  
AND IF(geburtsjahr = ".$gj.",IF(geburtsmonat > '".$gmmin."',IF(geburtsmonat < '".$gmmax."',1,0),0),1)  

Wobei es bei dem sogar bis zum ersten IF geklappt hat, danach nicht mehr.

Case habe ich mir auch schon mal zu Gemüte geführt - allerdings gescheitert.

Ich habe bereits das PHP, was mir die SQL Abfrage erweitert. Je nach dem, wie viele Geburtsjahre kommagetrennt eingegeben worden.

Hat jemand nen Denkanstoss für mich? :-)

PS: Bitte keine Ideen, wie ich das in PHP umsetzen kann. Ich würde das gern im SQL lösen ;-)

Danke, André