Autor | Zpráva | ||
---|---|---|---|
strygomil Profil * |
#1 · Zasláno: 7. 4. 2007, 17:51:41
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 |
#2 · Zasláno: 7. 4. 2007, 18:27:35
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 * |
#3 · Zasláno: 7. 4. 2007, 18:39:19
diky moc!!!
|
||
strygomil Profil * |
#4 · Zasláno: 7. 4. 2007, 19:43:51
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 * |
#5 · Zasláno: 8. 4. 2007, 11:35:53
Zkuste to zauzávorkavat, aby bylo jasné k čemu limit je
(select... limit 3) union all (select... limit 1) |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0