hallo ik heb een tabel leden en een koppeltabel subject_aandoening (staat een
user_id en een aan_id in)
nu wil ik checken welk profiel niet helemaal ingevuld is in 1 query
ik heb dus:
- 3 tabellen (leden,leden_aandoening (kt), leden_medicijnen (kt))
Ik wil dus kijken welk van de leden hun profiel helemaal hebben ingevuld. De leden kunnen een type 0 of type 1 hebben
mogelijkheden:
- type 0: kan geen aandoening hebben en geen medicijnen gebruik
- type 0: kan aangevene hebben dat hij medicijnen gebruikt en moet dan in de koppeltabel (leden_medicijnen ) staan
- type 1: moet altijd in beide koppeltabellen staan
tevens moeten natuurlijk hun voor en achternaam zijn ingevuld(etc)
echter onderstaande werkt niet (versimpelde versie). de query ziet het gewoon als ingevuld profiel
het zal wel in het CASE statement liggen..ik weet ook niet of dat zo kan maar als ik logisch nadenk moet die THEN gewoon een nummer teruggeven..kan dit of hoe anders te doen?
user_id en een aan_id in)
nu wil ik checken welk profiel niet helemaal ingevuld is in 1 query
ik heb dus:
- 3 tabellen (leden,leden_aandoening (kt), leden_medicijnen (kt))
Ik wil dus kijken welk van de leden hun profiel helemaal hebben ingevuld. De leden kunnen een type 0 of type 1 hebben
mogelijkheden:
- type 0: kan geen aandoening hebben en geen medicijnen gebruik
- type 0: kan aangevene hebben dat hij medicijnen gebruikt en moet dan in de koppeltabel (leden_medicijnen ) staan
- type 1: moet altijd in beide koppeltabellen staan
tevens moeten natuurlijk hun voor en achternaam zijn ingevuld(etc)
echter onderstaande werkt niet (versimpelde versie). de query ziet het gewoon als ingevuld profiel
PHP:
1
2
3
4
5
6
7
8
9
10
| $sql = "SELECT userid,email FROM leden WHERE CASE type WHEN 1 THEN (SELECT COUNT(*) AS total FROM subject_aandoening WHERE user_id = userid) = 0 END AND voornaam = '' OR achternaam = '' "; |
het zal wel in het CASE statement liggen..ik weet ook niet of dat zo kan maar als ik logisch nadenk moet die THEN gewoon een nummer teruggeven..kan dit of hoe anders te doen?