Hallo Miamit,
miamit hat geschrieben:
Außerdem wird für jeden Mitarbeiter auf Basis der Werte Stundenlohn und Arbeitsgeschwindigkeit (in Lohnkosten enthalten) in der Abfrage Lohnkosten die Kosten pro Stück berechnet.
Diese Kosten pro Stück fließen dann mit in die Berechnungen ein.
Wenn ich "Kosten pro Stück" lese gehe ich jetzt davon aus, dass Deine Abfrage nur einen Datensatz enthält. Solange das der Fall ist hast Du natürlich keine Verdoppelungen bei der Konstruktion zu befürchten. Vielleicht hast Du ja auch bisher nur einen Mitarbeiter in Deiner Testdatenbank?
Noch einmal: Die folgende Konstruktion erzeugt erst einmal nicht zusammenhängende Datensätze:
Code: Alles auswählen
FROM "Artikelgesamtliste",
"Lieferanten",
"Abfrage_Lohnkosten",
"Lohnkosten"
WHERE
"Artikelgesamtliste"."Lieferant" = "Lieferanten"."Lieferant"
AND
"Abfrage_Lohnkosten"."Mitarbeiter" = "Lohnkosten"."Mitarbeiter"
"Mitarbeiter" hängt nicht mit "Lieferant" zusammen. Wenn Du z.B. in der Tabelle "Lieferanten" jedem "Lieferant" einen bestimmten "Mitarbeiter" zuordnen würdest, dann könntest Du eine entsprechende Bezihung definieren:
Code: Alles auswählen
WHERE
"Artikelgesamtliste"."Lieferant" = "Lieferanten"."Lieferant"
AND
"Abfrage_Lohnkosten"."Mitarbeiter" = "Lohnkosten"."Mitarbeiter"
AND
"Lohnkosten"."Mitarbeiter" = "Lieferanten"."Mitarbeiter"
Damit wären dann alle Tabellen eindeutig verbunden. Natürlich kannst Du auch einen "Mitarbeiter" in der "Artikelgesamtliste" haben.
Diese folgenden Felder finde ich allerdings in Deiner Abfrage:
Code: Alles auswählen
SELECT
"Artikelgesamtliste"."Artikelnummer",
"Abfrage_Lohnkosten"."Lohnkosten pro Artikel",
"Lohnkosten"."Mitarbeiter",
"Lieferanten"."Lieferant",
...
Dass eine bestimmte Artikelnummer einen bestimmten Lieferanten hat ist definiert. Dass aber ein bestimmter Mitarbeiter nur für eine bestimmte Artikelnummer zuständig ist, das ist nirgendwo beschrieben. Sobald Du zwei Mitarbeiter hast wird in Deiner Abfrage die Artikelnummer doppelt dargestellt - mit dem ersten und dem zweiten Mitarbeiter.
Gruß
Robert