Autor Zpráva
danhill
Profil
Zdravím,
potřebuji poradit jak sestavit dotaz MYSQL.
Jde o to, že mám dvě tabulky. V jedné tabulce jsou testy. Je tam mimo jiné ID a název testu.
V druhé tabulce mám otázky a odpovědi. Tedy je tam ID otázky ID testu z první tabulky, otázka samotná a odpověd ABC...
Tak a já bych potřeboval jeden dotaz, který mi vybere všechny testy, u kterých chybí minimálně jedna odpověď, tedy hodnota ve sloupci answer je výchozí NULL.

Ovšem problém je v tom, že na to potřebuji jít obráceně, tedy jako výchozí tabulku potřebuji zachovat SELECT * FROM test a nikoli abych právě JOINoval z tabulky Question do tabulky test, tak bych to dokázal, ale obráceně nevím zda je to vůbec možné, protože samozřejmě otázek je vždy více než testů.
Ale vím, že zde jste SQL kouzelníci a dokážete všechno :) .
Děkuji moc.
Kajman
Profil
Zkuste něco jako

SELECT t.*,
       ch.chybi
FROM   testy t
       JOIN (SELECT o.id_testu,
                    Count(*) chybi
             FROM   otazky o
             WHERE  o.answer IS NULL
             GROUP  BY o.id_testu) ch
         ON t.id = ch.id_testu
danhill
Profil
Mockrát děkuji :) Jdu to vyzkoušet.
danhill
Profil
Nasazeno a funguje.
Ještě jednou děkuji za navedení na správnou cestu. Samotnému by mi to nedocvaklo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0