假设我有这样的查询:
SELECT type_person FROM tbl_event WHERE id_animal = 1;
这给了我要加入的人员类型和目标表(在这种情况下,这将返回'worker')以从其他表中获取事件的全部数据,现在进行加入我知道我必须对'进行加入工人表'喜欢:
SELECT a.*,b.*,z.*
FROM tbl_event a
left JOIN tbl_worker b
ON a.type_person = b.type_person
left JOIN tbl_animal z
ON z.id_animal = a.id_animal
WHERE z.id_animal = 1;
有没有办法通过以下方式更改左 JOIN tbl_worker b 的部分:
SELECT a.*,b.*,z.*
FROM tbl_event a
left JOIN (SELECT type_person FROM tbl_event WHERE id_animal = 1)
ON a.type_person = b.type_person
left JOIN tbl_animal z
ON z.id_animal = a.id_animal
WHERE z.id_animal = 1;