Nie potrafię złożyć zapytania o wybrane rekordy.
Struktura bazy wgląda tak :
Tabela LOGINS :
CREATE TABLE logins (id_log int AUTO_INCREMENT PRIMARY KEY, imie varchar(15) NOT NULL, pion varchar(30) NOT NULL );
Tabela zgłoszenia :
CREATE TABLE zgloszenia (id_zgl int AUTO_INCREMENT PRIMARY KEY, id_log int NOT NULL, opis varchar(500) NOT NULL, grupa varchar(8) NOT NULL DEFAULT "oc2");
Tabela opinie 1 :
CREATE TABLE opinie (ok_id_oc int AUTO_INCREMENT PRIMARY KEY, ok_id_zgl int NOT NULL, ok_id_log int NOT NULL, ok_opis varchar(500) NOT NULL DEFAULT "x");
Tabela opinie 2 :
CREATE TABLE opinie2 (or_id_oc int AUTO_INCREMENT PRIMARY KEY, or_id_zgl int NOT NULL, or_id_log int NOT NULL, or_opis varchar(500) NOT NULL);
Problem jest taki :
- Jest dedykowana grupa kilku użykowników którzy wpisują swoje oceny do tabeli opinie2 - każdy z nich ma swoją listę.Warunkiem pojawienia się zgloszenia na tej liście jest zmiana statusu zgłoszenia z "oc2" na "oc3" , zapytanie wygląda tak :
SELECT * FROM zgloszenia z LEFT JOIN opinie2 o ON (z.id_zgl=o.or_id_zgl AND o.or_id_log='$unikat') WHERE z.grupa='oc3' AND z.id_log!='$unikat' GROUP BY z.id_zgl HAVING count(o.or_id_zgl)=0 ;
Gdzie paramet $unikat to jest id_log - bieżący zalogowany
Chcę dodać do tego zapytania (podejrzewam że przez join) opcję dzięki której na liście użytkownika z pionu OC3 pojawiły się nie tylko zgłoszenia które zmienią status na OC3 ale i zgłoszenia które uzyskały więcej niż 10 odpowiedzi z pionu OC2(czyli wpisów do tabeli opinie1).
Zastanawiałem się czy umieścić ten problem w przedszkolu , liczę na waszą pomoc ,Pozdrawiam.