SQL Join на совпадение с каждой записью - PullRequest
2 голосов
/ 04 марта 2012

Доброе утро всем, Я надеюсь, что кто-то может помочь мне с проблемой. Я пытаюсь выяснить, как определить, какие сотрудники работают над каждым проектом.

Если у меня есть таблица works_on со столбцами ssn, project_id и отработанными часами; и таблица проектов с project_id, project_name, dept. Мне нужно знать, какие сотрудники работают над каждым проектом.

Это проблема с домашним заданием, и я должен делать это с помощью реляционной алгебры, но обычный старый SQL-код или любые идеи о том, как это сделать, были бы полезны. Я просто не вижу этого ...

Спасибо за любые указатели.

РЕДАКТИРОВАТЬ: Вот моя окончательная версия, если у кого-то есть какие-либо комментарии / предложения. Я думаю, что понял. Кроме того, он соединяется с таблицей сотрудников, чтобы получить имя, как это требуется в спецификациях домашних заданий.

WORKS1 ← ρ (SSN, PNUMBER) π ESSN, PNO (WORKS_ON)
WORKS_DIV ← (PROJECT x WORKS1) – WORKS1
EMP_EVERY_PROJ ← WORKS1 – WORKS_DIV 
π FNAME, MINIT, LNAME (EMP_EVERY_PROJ ⋈ SSN=SSN EMPLOYEE)

1 Ответ

4 голосов
/ 04 марта 2012

какие сотрудники работают над каждым проектом

Это неприятная проблема, называемая реляционным делением .Вот статья с некоторыми решениями .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...