Ik heb een voor mij vreemde tabel die er alsvolgt uitziet:
naam property value
jan ogen blauw
jan bouw mager
jan geslacht man
pietje ogen grijs
pietje bouw slank
pietje geslacht man
miep ogen groen
miep bouw vet
miep geslacht vrouw
Hierop moet ik een zoekfunctie maken dat als je bij geslacht man selecteert dat hij dan alle mannen eruit haalt. Als je nu bij de ogen blauw selecteert moet hij de mannen met blauwe ogen selecteren.
Ik heb echt al van alles geprobeerd. Zelf zou ik een tabel nooit zo opbouwen, ik zou dan bij de user de velden "ogen,bouw,geslacht" maken, maar ik kan dit niet aanpassen, ik heb hier geen invloed op. De tabel wordt zoals hierboven aangeleverd. In eerste instantie dacht ik dat doe ik wel even, maar het lijkt ingewikkelder dan dt ik dacht, of ik moet echt iets gruwelijks over het hoofd zien.
Ik heb al van alles geprobeerd. Ik begon met bijvoorbeeld:
WHERE geslacht='mand' AND ogen='blauw', dit gaat niet werken, omdat de WHERE per rij bekeken wordt. Een OR zou wel kunnen, maar dan toont hij alle mannen en alle blauwe ogen, dus ook vrouwen met blauwe ogen en dat is niet de bedoeling.
Nu zit ik het volgende te proberen:
Dit is ook niks zover als ik nu ben. Met CASE heb ik ook al een en ander geprobeerd, maar ook zonder succes. Het is de vreemde manier van een tabel opbouwen voor mij dat het niet lukt.
Heeft iemand een suggestie?
naam property value
jan ogen blauw
jan bouw mager
jan geslacht man
pietje ogen grijs
pietje bouw slank
pietje geslacht man
miep ogen groen
miep bouw vet
miep geslacht vrouw
Hierop moet ik een zoekfunctie maken dat als je bij geslacht man selecteert dat hij dan alle mannen eruit haalt. Als je nu bij de ogen blauw selecteert moet hij de mannen met blauwe ogen selecteren.
Ik heb echt al van alles geprobeerd. Zelf zou ik een tabel nooit zo opbouwen, ik zou dan bij de user de velden "ogen,bouw,geslacht" maken, maar ik kan dit niet aanpassen, ik heb hier geen invloed op. De tabel wordt zoals hierboven aangeleverd. In eerste instantie dacht ik dat doe ik wel even, maar het lijkt ingewikkelder dan dt ik dacht, of ik moet echt iets gruwelijks over het hoofd zien.
Ik heb al van alles geprobeerd. Ik begon met bijvoorbeeld:
WHERE geslacht='mand' AND ogen='blauw', dit gaat niet werken, omdat de WHERE per rij bekeken wordt. Een OR zou wel kunnen, maar dan toont hij alle mannen en alle blauwe ogen, dus ook vrouwen met blauwe ogen en dat is niet de bedoeling.
Nu zit ik het volgende te proberen:
SQL:
1
2
3
4
5
6
7
8
9
10
| SELECT naam, IF(property='geboren',value,NULL) AS age, IF(property='geslacht',value,NULL) AS gender, IF(property='taal',value,NULL) AS taal, IF(property='ogen',value,NULL) AS ogen, IF(property='sterrenbeeld',value,NULL) AS sterrenbeeld, IF(property='lichaamsbouw',value,NULL) AS lichaamsbouw, IF(property='haar',value,NULL) AS haar FROM profielen |
Dit is ook niks zover als ik nu ben. Met CASE heb ik ook al een en ander geprobeerd, maar ook zonder succes. Het is de vreemde manier van een tabel opbouwen voor mij dat het niet lukt.
Heeft iemand een suggestie?