Autor Zpráva
Jan Tvrdík
Profil
Potřebují pomoc se sestavením MySQL dotazu
Mám následující struktutu tabulek:
slovicka:

+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| lekce | int(5) | NO | MUL | NULL | |
| clen | varchar(5) | YES | | NULL | |
| slovicko | varchar(255) | NO | MUL | NULL | |
| mnc | varchar(50) | YES | | NULL | |
| cesky | varchar(255) | NO | | NULL | |
| vlozeno | int(12) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+

slovicka_stav:
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(5) | NO | PRI | NULL | auto_increment |
| slovicko | int(5) | NO | MUL | NULL | |
| uzivatel | int(5) | NO | | NULL | |
| dobre | int(5) | NO | | NULL | |
| spatne | int(5) | NO | | NULL | |
| zkouseno | int(12) | NO | | NULL | |
+----------+---------+------+-----+---------+----------------+


trocha vysvětlení relací:
- všechna slovíčka jsou v tabulce slovicka
- každý uživatek má pro každé slovíčko vlastní řádek v tabulce slovicka_stav (tam má svoji úspěštnost (dobre a spatne) a datum posledniho zkouseni (zkouseno)
- slovicka.id = slovicka_stav.slovicko
- uzivatele.id = slovicko_stav.uzivatel
- lekce.id = slovicka.lekce

a potřebuji načíst náhodné slovíčko (kontrétně jeho id, clen,slovicko,mnc,cesky,dobre,spatne) , které
- je z vybraných lekcí (třeba jen lekce=1 OR lekce=2)
- dobre >= 3
- dobre/(dobre+spatne) > 0.8 (procentuální úspěštnost - 80%)

snad jsem na nic nezapoměl :-D
Kajman_
Profil *
asi takhle nějak...
select s.*,v.dobre,v.spatne from slovicka s join slovicka_stav v on s.id=v.slovicko and v.dobre>=3 and ifnull(v.dobre/v.dobre+v.spatne,0)>0.8 where s.lekce in (1,2)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0