tom kreuzfahrt: mysql abfrage clever gestalten

Beitrag lesen

moin, noch eine kleinigkeit und dann hab ich es auch soweit:

ich habe eine mysql tabelle "questions" mit:
id, token, field, question, answer1, answer2, answer3, answer4, correct
für eine multiple choice frage mit 4 antwortmöglichkeiten und der richtigen antwort.

wenn die frage jetzt einmal angezeigt wurde, wird sie in der tabelle "oldquestions" mit:

id, user, token, field, question, answer, result, time
abgelegt, wobei result 0 für falsch und 1 für richtig steht. unter user ist in jedem fall der abgelegt, der die frage bekommen hat.

richtige antworten gehen zusätzlich noch in die tablle "oldquestionscorrect", der aber genauso aufgebaut ist wie schon oldquestions.

sinn und zweck ist, dass ich zum einen 3 zufällige fragen mit:

"SELECT * FROM questions ORDER BY RAND() LIMIT 3"

aber auch nur 3 zufällige fragen ziehen kann, die bislang zwar schon angezeigt worden sind, aber eben nicht richtig beanwortet worden sind.

mein versuch hier war:
select DISTINCT questions.token, questions.question, questions.answer1, questions.answer2, questions.answer3, questions.answer4 from questions LEFT JOIN oldquestions ON questions.token=oldquestions.token WHERE ((oldquestions.user NOT LIKE "username")) ORDER BY RAND() LIMIT 3;

führt aber dazu, dass gar nichts kommt.

dann brauch ich auch noch 3 zufällige fragen, die bislang noch gar nicht gezeigt worden sind.

dies ist bestimmt leichter, wenn die abfrage darüber klappt.

wer da was weiß, immer her mit den infos.

danke und gruß,
tom