私は従業員の活動を見ている職場のプロジェクトのデータベースを使って作業しています。私は各従業員のスーパーバイザーIDを含む従業員情報を持つメインテーブル従業員を持っています。シフトとスーパーバイザーのIDを持つ別のテーブルがあります。シフト情報を入力しようとすると、私の問題が発生します。従業員のために投入されますが、スーパーバイザーが自分のスーパーバイザーを持つので、スーパーバイザーにとってはnullです。私はそれをコード化する方法を理解しようとしているので、シフトの監督者がそのシフトの一部であることを示すことができます。誰かが監督しているシフトの一部であることをどのように示すことができますか?
シフト情報を入力する基本クエリは次のとおりです。
SELECT
nbr,
Event_Activity,
Minutes,
hours,
Call_for_Service,
incident,
LAST_NAME,
FIRST_NAME,
c.Employee_Nbr,
Supervisor,
sector_shift
FROM
cad c
JOIN
employees e ON e.en = c.employee_nbr
left JOIN
sector s ON s.supervisor_id = e.supervisor
order by sector_shift asc;
私は非常にSQLに慣れているので、私は得ることができるすべてのヘルプに感謝します。
Sector
Field, Type, Null, Key
sector_shift, varchar(12), NO, PRI
supervisor_id, varchar(12), YES, MUL
Employees
Field Type, Null, Key
Position, varchar(255), NO
Job_Code, varchar(5), YES
Last_Name, varchar(25), YES
First_Name, varchar(12), YES
Email_Address, varchar(45), NO, UNI
EN, varchar(12), NO, PRI
Hire_Date, varchar(12), YES
Status, varchar(45), YES
Classification, varchar(12), YES
Supervisor, varchar(12), YES, MUL
CAD
Field, Type, Null, Key
cad_id, int(11), NO, PRI
Nbr, int(11), NO
Event_Activity, varchar(45), YES
Minutes, int(11), NO, MUL
Hours, varchar(25), YES
Call_for_Service, int(11), NO, MUL
Incident, int(11), NO, MUL
Misd., int(11), NO, MUL
Felony, int(11), NO, MUL
Other, int(11), NO, MUL
Report_Issued, int(11), NO, MUL
Employee_Nbr, varchar(12), YES, MUL
ここでは返される内容の例を示します。
Report_Nbr, crime, date, location, LAST_NAME, FIRST_NAME, Employee_Nbr, Supervisor, sector_shift
160002, PROPERTY, 01/01/16, 1516 N. MAIN ST., HOLLIS, NANCY, 80951, 48784, 2
160001, PROPERTY, 01/01/16, 6592 BELLCOURT PKY, WINCE, TIFFANY, 48714, 57080, 3
160003, DRUG - MARIJUANA, 01/01/16, 986 N. FRANKLIN ST., GARCIA, MARK, 72420, 12133, Delta
160005, ACCIDENT, 01/03/16, 3765 CHARLES DR., ALLEN, MICHAEL, 83701, 41647, Alpha
160013, DISPATCH, 01/04/16, 567 COWART LN., TALOBORT, ROGER, 41647, 55054, NULL
160007, PROPERTY, 01/04/16, 6594 HENDERSON AVE., SMITH, FRANK, 62500, 41647, Alpha
nullはスーパーバイザであり、スーパーバイザフィールドはスーパーバイザを指しています。私がしようとしていることは、彼が監督するシフトにいることを示すことです。
スキーマ構造を教えてください。 – berty
@berty上記の編集は役に立ちましたか?CADのEmployee_nbrは従業員のENを参照する外部キーで、従業員のスーパーバイザはSectorのsupervisor_idを参照する外部キーです。 – Jon