Po kolei:
W jednej tabeli są pracownicy wraz kolumnami mówiącymi o czasie rozpoczęcia i końcu pracy.
Druga tabela to produktu, godzina wytworzenia oraz pracownik
Upraszczając - tabela 1: pracownik (id_pracownika (lub coś innego pozwalające na identyfikację), jakieś_dane_pracownika, początek, koniec), tabela 2: produkt (nazwa, czas_wytworzenia, id_pracownika)
Utworzyć nową tabelę, gdzie będą produkty z drugiej ograniczone tym, że godzina wytworzenia jest w granicach czasu pracy pracownika.
SELECT jakieś_dane_pracownika, produkt, co_jeszcze_potrzebne
FROM produkt
odpowiedni JOIN pracownik ON
warunek joina
WHERE produkt.czas_wytworzenia BETWEEN pracownik.początek AND pracownik.koniec(*)
(*) - jak każde wyrażenie logiczne te również może mieć kilka "składników" - (warunek 1 AND/OR warunek 2) AND (warunek 3 AND/OR warunek 4) itp.
Problemem jest dla mnie, że wartości dla BETWEEN muszę pobrać z kilku wierszy innej tabeli
Czyli jak? Masz np w tabeli 2 takie coś:
produkt 1, 12.00, pracownik 1
produkt 1, 12.00, pracownik 2
produkt 1, 12.00, pracownik 3
produkt 2, 10.00, pracownik 1
produkt 2, 10.00, pracownik 4
produkt 2, 10.00, pracownik 5
jeden produkt - wielu pracowników, jeden pracownik - wiele produktów? Chcesz uniknąć sytuacji w której w tabeli wynikowej dostajesz kilka wierszy tego samego produktu? Czy np. jest produkt, ale jeden z pracowników przy nim pracujących kończy przed wytworzeniem i nie chcesz tego produktu uwzględniać?
Inna sprawa, że mnie się zawsze ważniejsze wydawały kolumny.
dopiero zaczynam z SQL
Jeśli jeszcze nie znasz, to łap http://sqlfiddle.com/, możesz tam ćwiczyć do woli.