Ich würde die Tabelle anders strukturieren und alle Wochentage unter ein Feld packen.
Dann hast du zwar, wenn Frau Müller 3 Tagen die Woche putzt auch 3 Einträge, aber es ist einfacher zu pflegen. Die zusätzlichen Datum-Werte würde ich in eine andere Tabelle schreiben. Wenn du die Putzkräfte auch auslagerst, kannst du alles über eine ID verknüpfen. Am Besten noch eine Auftragstabelle:
Z.B.:
Tabelle auftrag // AuftragsID ist autowert und darf nur einmal vorkommen
AuftragsID -> 1
PutzkraftID -> 1
Raum -> 202
Tabelle putzen:
AuftragsID -> 1
Wochentag -> 1
Raum -> 202
AuftragsID -> 1
Wochentag -> 3
Raum -> 202
AuftragsID -> 1
PutzkraftID -> 1
Wochentag -> 5
Raum -> 202
Tabelle putzkräfte // PutzkraftID ist autowert und darf nur einmal vorkommen
PutzkraftID -> 1
Name -> Frau Müller
...
PutzkraftID -> 2
Name -> Frau Schulze
...
Tabelle zusatzdatum:
AuftragsID -> 1
datum -> 25.12.06
Die SELECT Anweisung wäre dann wie folgt:
Code:
SELECT putzkraft.Name, Raum,
FROM putzen, putzkraft, zusatzdatum, auftrag
WHERE putzen.PutzkraftID = putzkraft.PutzkraftID
AND putzkraft.AuftragsID = zusatzdatum.AuftragsID
AND putzen.Wochentag = DAYOFWEEK(CURDATE())
OR zusatzdatum.datum = CURDATE()
Nun kannst du auch ganz einfach Frau Müller weitere Räume an unterschiedlichen Tagen zuweisen, indem du einen neuen "Auftrag" enträgst. Mehre zusätzlich Datum-Wert sind auch möglich,.
Je nachdem wer die Daten ansehen soll kann man dann noch eine Benutztabelle anlegen.
Damit kann man z.B. Benutzer und Raum verknüpfen.
Ich bin mir nicht 100% sicher, ob die Anweisung stimmt. Musst mal ein wenig rum probieren.
Falls du noch Fragen zu der Tabellenstruktur hast, einfach posten!
Du kannst dein Projekt auch nochmal genauer schildern, vielleicht kann ich dir dann bei der Struktur helfen.
Viele Grüße,
Jacka