Mam bazę danych, do której obsługi dorobiłem interface w javie. Przede mną ostani krok - chyba najtrudniejszy. Program rozlicza obecności pracowników. Jest tabela grafik pozwalająca wpisać bieżacy stan i tabel rozliczenie generująca podsumowanie. Do podsumowania dane są przekazywane przez kod, który zamieszczam poniżej.
INSERT INTO rozliczenie(id_pracow, liczba_dni_przepracowanych, liczba_dni_nieobecnosci, liczba_dni_urlopu, liczba_dni_choroby)
VALUES
((SELECT id_pracownika FROM pracownicy WHERE imie='Bogdan' AND nazwisko='Nowak' ),(SELECT COUNT(*) FROM grafik WHERE status='1' AND id_pracownika='1' AND czy_rozliczony='0' ),(SELECT COUNT(*) FROM grafik WHERE status='2' AND id_pracownika='1' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='3' AND id_pracownika='1'AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='4' AND id_pracownika='1' AND czy_rozliczony='0')),
((SELECT id_pracownika FROM pracownicy WHERE imie='Cezary' AND nazwisko='Kowalski'),(SELECT COUNT(*) FROM grafik WHERE status='1' AND id_pracownika='2'AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='2' AND id_pracownika='2' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='3' AND id_pracownika='2' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='4' AND id_pracownika='2' AND czy_rozliczony='0')),
((SELECT id_pracownika FROM pracownicy WHERE imie='Anna' AND nazwisko='Pawlak' ),(SELECT COUNT(*) FROM grafik WHERE status='1' AND id_pracownika='3' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='2' AND id_pracownika='3' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='3' AND id_pracownika='3' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='4' AND id_pracownika='3' AND czy_rozliczony='0')),
((SELECT id_pracownika FROM pracownicy WHERE imie='Agnieszka' AND nazwisko='Orlowska' ),(SELECT COUNT(*) FROM grafik WHERE status='1' AND id_pracownika='4' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='2' AND id_pracownika='4' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='3' AND id_pracownika='4' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='4' AND id_pracownika='4' AND czy_rozliczony='0')),
((SELECT id_pracownika FROM pracownicy WHERE imie='Joanna' AND nazwisko='Tomczyk' ),(SELECT COUNT(*) FROM grafik WHERE status='1' AND id_pracownika='5' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='2' AND id_pracownika='5' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='3' AND id_pracownika='5' AND czy_rozliczony='0'),(SELECT COUNT(*) FROM grafik WHERE status='4' AND id_pracownika='5' AND czy_rozliczony='0'));
Chciałbym taką komendę móc umieścic w kodzie JDBC. Szukam w necie już drugi dzień i efektów zero. Czy ktoś mógłby podrzucić jakiś pomysł lub sugestię? Ten kod naprawdę działa w PGAdmin3.