所以我有两张桌子;任务表和员工表。
任务由员工创建,并维护将其创建为creator_id的员工的ID。
将一项任务分配给员工,并将其分配给的员工的ID维护为responsible_id。
任务的创建者及其分配的员工可以是不同的人。
如何编写一个select语句,允许我显示创建任务的员工和分配给该员工的员工的全名。
我认为可能看起来像这样:
SELECT Task.Description, Employee1.name, Employee2.name
FROM Task, Employee Employee1, Employee Employee2
WHERE Task.creator_id = Employee1.id
AND Task.responsible_id = Employee2.id;
我尝试过这种变体,但它会返回错误或达到内存限制。
我哪里错了?
答案 0 :(得分:0)
根据您的描述,查询是正确的,但您应该考虑重写它以使用显式ANSI连接:
SELECT Task.Description, Employee1.name, Employee2.name
FROM Task
JOIN Employee Employee1 ON Task.creator_id = Employee1.id
JOIN Employee Employee2 ON Task.responsible_id = Employee2.id;