Harmonogram zadań

0

Próbuję zrobić harmonogram zadań. Jestem początkujący także proszę o wyrozumiałość.
Mam dwie tabele. Pierwsza tabela zawiera zadania jakie trzeba wykonań na określonej zmianie ( są trzy zmiany ) i druga tabela która zawiera wykonane zadania. Mój problem polega na tym że nie wiem jak zrobić aby pokazywało z bazy jakie zadania sa jeszcze do wykonania, a jeżeli zadanie jest już wykonane to żeby juz nie było pokazane. Nie wiem czy dobrze to przedstawiłem, ale proszę o jakieś wskazówki. Z góry dziękuje i pozdrawiam

0

Czy tabele są JAKKOLWIEK powiązane ? Jeśli nie, to

select * from wykonane;

oraz

select * from niewykonane;

;p

0

Pierwsza tabela:

Zadania: id_zadania | zadanie | opis_zadania | jakazmiana

druga tabela:

Wykonane zadania: id_wyk_zadania | id_zadania | kto | kiedy

Oczywiście proszę o wyrozumiałość i jakies sugestie.

0

A jaki jest sens rozbijania tego na różne tabele? Nie można zrobić czegoś w stylu:

id zmiana zadanie wykonano
1 1 nalać piwa 1
2 2 wypić piwo 0

wykonane zadania

select * from tabela where wykonano=1

niewykonane zadania

select * from tabela where wykonano=0

"poinformowanie", że zadanie zostało wykonane

update tabela set wykonano=1 where id=2
0

Tylko że te zadania się powtarzają. Powiedzmy zmiana 1 - do zrobienia jest zadanie A, zmiana 2 - zadanie B, zmiana 3 - zadanie C. I w kolejny dzień te same zadania

0

A czy możesz mi nakreślić ta drugą tabele bo nie wiem jak ona miałaby wyglądać :/

0

Tak na szybko np. coś takiego:

tabela zadania

id_zadania nazwa_zadania opis_zadania
1 nalać piwo otworzyć butelkę, przechylić...
2 wypić piwo no to to każdy wie

tabela harmonogram

id dzien_miesiaca zmiana id_zadania wykonano
1 1 1 1 0
2 1 2 2 1

itp. itd.

0

To mam w tej drugiej tabeli rozpisac cały rok ? I powiedzmy że w każdym dniu jest jekieś 20 zadań ?

0

Powiem może dokładniej.
Każdego dnia na 1 zmianie jest do zrobienia: zadanie A, zadanie B, zadanie C ...itd
zmiana 2 : zadanie D, zadanie E, zadanie F...itd
zmiana 3 : zadanie G, zadanie H, zadanie I...itd

I teraz chciałem to tak zrobić żeby pokazało mi liste co jest do zrobienia na zmianie X , a jeśli zostało juz to zrobione to zeby było to odnotowane i juz nie pokazywane.

0

Ok a jak jeszcze chciałbym dodać że np dziś na 1 zmianie zadanie A zrobił Adam Nowak a wczoraj to samo zadanie zrobił Michał Kowalski. Chciałbym mieć po prostu jeszcze taką historię kto co zrobił ?

0

och, po kawałeczku, po kropelce... to i jeszcze to ma być? :P

To zrób trzecią tabelę pracownicy

id nazwisko
1 Nowak Adam

wtedy np. w tabeli harmonogram mozesz zrobić tak, że 0 oznacza niewykonane zadanie, a każda większe od zera wartość oznacza wykonane - Ty będziesz sobie w to wykonane wstawiał id pracownika, który to wykonał (tylko cały czas myśl w dłuższym okresie czasu - dziś wykonał to zadanie kowalski, za tydzień to zadanie może wykonać nowak itp. itd.)

0

Czyli reasumując mogę to połączyć z tabelą users którą już mam ?

0

Ok, wielkie dzięki

0

funkcja minus zwraca różnicę zbiorów:

CREATE TABLE zad_do_wyk(
  id NUMBER(4) PRIMARY KEY,
  zmiana1 VARCHAR2(30),
  zmiana2 VARCHAR2(30),
  zmiana3 VARCHAR2(30)
);

CREATE TABLE zad_wyk(
  id NUMBER(4) PRIMARY KEY,
  zmiana1 VARCHAR2(30),
  zmiana2 VARCHAR2(30),
  zmiana3 VARCHAR2(30)
);


INSERT INTO zad_do_wyk VALUES (1, 'a', 'b','c');
INSERT INTO zad_do_wyk VALUES (2, 'a', 'b', 'c');
INSERT INTO zad_wyk VALUES (1, null, 'b','c');
INSERT INTO zad_wyk VALUES (2, 'a', null,null);


select zmiana2 from zad_do_wyk 
minus
select  zmiana2 from zad_wyk 
where id =2;

Wynik:

ZMIANA2
b

1 użytkowników online, w tym zalogowanych: 0, gości: 1