Autor Zpráva
peta
Profil
mam tabulku
id, id_cloveka, id_predmet, znamka_ano/ne, rok
1, 123, cestina, ne, 2006
2, 123, cestina, ne, 2007
3, 124, cestina, ne, 2006
4, 124, cestina, ne, 2007

potrebuji z ni vypsat vsechny id_clovek takove, kde
- stejny id_predmet je (2 a vice) krat se znamka = ne
Tusim pomoci COUNT, ale nevim, jak to napsat do podminky. Zatim jsem COUNT pouzival jen pro SELECT COUNT(id) (pocet radku)
nightfish
Profil
zkus toto
select id_cloveka, id_predmet from tabulka where znamka = 'ne' group by id_cloveka, id_predmet having count(id_cloveka) > 1 AND count(id_predmet) > 1
peta
Profil
zkousel jsem neco tvorit sam..., zatim to uplne nefunguje

SELECT os_cislo, prac_zkr, zkr_predm
FROM znamky
WHERE AAA
statut IN ('A','B') AND
rok_platnosti = 'BBB' AND
rok_varianty = 'BBB' AND
(datum IS NULL OR znamka = 4 OR slovni_hodnoceni = 'N')
ORDER BY os_cislo

$query = str_replace('AAA',(($stud_id!==0 && $stud_id!=='') ? "os_cislo LIKE '".$stud_id."%' AND" : ''),$query);
$query = str_replace('BBB',$stud_rok1,$query);
$query = str_replace('CCC',$stud_rok2,$query);

nightfish
mrknu na to
zapomnel jsem napsat, ze
1, 123, cestina, ne, 2006
2, 123, cestina, ne, 2007
3, 124, cestina, ne, 2006
4, 124, cestina, ne, 2007
5, 123, matematika, ne, 2006
6, 123, matematika, ne, 2007
... ten samy clovek muze nesplnit vice predmenu. Nevim, zda to tvuj prikaz pokryva, vse dukladne prozkoumam... Proste mne zajimaji lidi, ktere maji ze skoly vyhodit :)

upraveno na
SELECT os_cislo, prac_zkr, zkr_predm
FROM znamky
WHERE AAA
statut IN ('A','B') AND
(datum IS NULL OR znamka = 4 OR slovni_hodnoceni = 'N')
GROUP BY
os_cislo, prac_zkr
HAVING COUNT(os_cislo) > 1 AND
COUNT(prac_zkr) > 1
ORDER BY os_cislo
... zatim pise nejaky problem, to to neni GROUP BY vyraz. (pro zajimavost, jedna se o oracle databazi a Stag program, jeho tabulky)
peta
Profil
SELECT os_cislo, prac_zkr=====>, zkr_predm<=====
FROM znamky
WHERE AAA
statut IN ('A','B') AND
(datum IS NULL OR znamka = 4 OR slovni_hodnoceni = 'N')
GROUP BY
os_cislo, prac_zkr
HAVING COUNT(os_cislo) > 1 AND
COUNT(prac_zkr) > 1
ORDER BY os_cislo

dal jsem pryc a uz to zobrazuje more ID, nektere 2x, 3x a pod
ale to je v poho , to by mel distinct vyresit.
Zatim dik, dam vedet, az bude konecna podoba.
Tech ID je vic nez 10.000, takze tam bude nekde problem. Snad to najdu :)
peta
Profil
tak jsem to ocesal na 8500 (spatne zkratka predmetu, prac je pracoviste, ja myslel, ze pracovni), ale mam tam duplicitne zaznamy a mam tam takovou vec...

$SQL_query['nesplnene_ab'] = "
SELECT os_cislo, zkr_predm
FROM znamky
WHERE AAA
statut IN ('A','B') AND
(datum IS NULL OR znamka = 4 OR slovni_hodnoceni = 'N')
GROUP BY
os_cislo, zkr_predm
HAVING COUNT(os_cislo) > 1 AND
COUNT(zkr_predm) > 1
ORDER BY
os_cislo
";

A problem je nasledujici:
Predmet muze byt v jednom roce jen jednou. Ale jsou specialni predmety dvou-semestralni. Takze mi to vypisuje i tyto.
Problem 2 je ta duplicita.

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