Autor | Zpráva | ||
---|---|---|---|
peta Profil |
#1 · Zasláno: 27. 6. 2008, 13:04:59
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 |
#2 · Zasláno: 27. 6. 2008, 13:14:24
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 |
#3 · Zasláno: 27. 6. 2008, 13:39:27 · Upravil/a: peta
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 |
#4 · Zasláno: 27. 6. 2008, 13:54:58 · Upravil/a: peta
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 |
#5 · Zasláno: 27. 6. 2008, 14:29:32
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. |
||
Časová prodleva: 16 let
|
0