Autor Zpráva
strygomil
Profil *
Zdravim


Prosim o pomoc, potrebujem vediet ci sa da v mysql spravit nasledovny dotaz, ked moja tabulka vyzera nasledovne:

TABLE odpovede

id_odp odpoved spravna id_ot

id_odp je id odpovede ma urceny primarny kluc, odpoved je varchar, spravna je tinyint a id_ot int

potrebujem vybrat 4 rozne odpovede ktore maju spolocny jeden id_ot z toho jedna z odpovedi musi byt spravna teda spravna='1'....spravnych odpovedi moze byt s jednym id_ot viacej ale vzdy treba vybrat iba jednu....

moj mysql dotaz je zatial takyto:

SELECT odpoved FROM odpovede JOIN otazky ON otazky.id_ot=odpovede.id_ot WHERE otazka='".$donald['otazka']."' ORDER BY RAND() LIMIT 3;

toto mi vyberie 3 rozne odpovede nehladiac na to ci tam je spravna alebo nie..


vopred dík.
YoSarin
Profil
strygomil
doporučoval bych předělat tinyint na bool.
No vidíš - a co mě napadá první je přidat k tomu podmínku, že ty tři odpovědi co to vybírá musí být nesprávné (spravna = false) a pak pomocí UNION k tomu náhodně vybrat jednu odpověď na stejnou otázku, která je ale pravdivá.
strygomil
Profil *
diky moc!!!
strygomil
Profil *
Este mam otazku, ako pri union urcim aby v prvom selecte boli tri a v druhom iba 1?...kedze takto mi to automaticky vybera iba podla toho co je urcene pri druhom selecte....vdaka
Kajman_
Profil *
Zkuste to zauzávorkavat, aby bylo jasné k čemu limit je

(select... limit 3)
union all
(select... limit 1)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0