Hallo,

Ik heb zitten vechten als een gek met inner join/left outer join en die dingen.
Ik had er echt 0 ervaring mee dus nu heb ik een code gemaakt maar hij werkt voor geen meter.
Mijn code is:

SELECT * FROM enquete_questions 
AS eq LEFT OUTER JOIN enquete_answers AS ea 
on eq.id = eq.questionid 
WHERE eq.status=0 
WHERE NOT EXISTS(SELECT * FROM enquete_answers WHERE door='$naam')

Mijn database van 'enquete_questions' ziet er zo uit: (Niet volledig maar het gaat zo door met question2mp1 en zo iets dus niks belangrijks)
http://gyazo.com/ac21c7f80974d9d17ec64f8274a25e09
Mijn database van 'enquete_answers' ziet er zo uit:
http://gyazo.com/8c4d9c601d69691da2cfcddabd589ba6

Wat ik wil is:
Een bepaalde query die controllerd op de volgende dingen:
- De enquete status (bij enquete_questions) staat op 0
- De enquete is nog niet in gevuld (Bij enquete_answers(Zoals je ziet word het op naam opgeslagen van de gebruiker))

Ik heb geen idee hoe ik dit zou moeten maken en hoop echt dat 1 van jullie mij hier mee kan helpen, want mijn code werkt totaal niet.

SELECT
	eq.id, eq.door //etc.
FROM
	enquete_questions eq
JOIN
	enquete_answers AS ea 
ON
	eq.id = eq.questionid 
WHERE
	eq.status=0 AND ea.questionanswer1 IS NULL


Zoiets?

Of bestaat er nog helemaal geen record voor de gebruiker in ea?
Er komt pas een record in EA als de enquete is ingevuld
Dit is het antwoord dat je zoekt maar je moet even de kolom en tabelnamen naar je eigen situatie veranderen


SELECT * FROM vragen v
LEFT JOIN antwoorden a ON a.vraag_id = v.id 
where a.vraag_id IS NULL


[size=xsmall]Toevoeging op 17/03/2015 13:39:21:[/size]


SELECT
    eq.id, eq.door //etc.
FROM
    enquete_questions eq
JOIN
    enquete_answers ea 
ON
    eq.id = ea.questionid 
WHERE
    eq.status=0 AND ea.questionid IS NULL
Hij klopt aardig goed als ik het lees, maar niet alles word gecheckt wat gecheckt moest worden
hij moet namelijk ook controleren of de naam erin voorkomt met een ID erbij van de enquete.
Dus niet algemeenheid maar gewoon per persoon moet gecontroleerd worden
In een ander topic heb je het over verschillende enquêtes.

Nu heb je een tabel opbouw die niet flexibel is om verschillende enquêtes te beheren.

Als je gebruikt maakt van genummerde kolommen is dat altijd een teken dat het model van je database niet goed is. In dat topic is al een aanzet gegeven hoe je tabel opbouw er uit zou kunnen zien, waarom doe je daar niets mee?
De reden dat ik daar niks mee doe is omdat ik de MySQL opbouw die hij gebruikt totaal niet snap, dit wel alleen deze enige ding niet
Mogelijk kost het snappen van een goed datamodel je nu een middag of een dag extra. Maar waarschijnlijk verdien je dat wer terug als je niet lastige query's met genummerde kolommen moet gaan samenstellen en met php moeilijke results moet doorlopen...

Reageren