gpt4 book ai didi

mysql - 根据结果​​递归查询和更改目标表

转载 作者:行者123 更新时间:2023-11-29 06:51:10 24 4
gpt4 key购买 nike

假设我有这样的查询:

SELECT type_person FROM tbl_event WHERE id_animal = 1;

这给了我人的类型和要从其他表加入的目标表(在这种情况下,这将返回“worker”)以获取事件的全部数据,现在要加入,我知道我必须做一个加入“ 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;

here is a fiddle

最佳答案

当然,您需要执行以下操作:

SELECT  a.*,b.*,z.*
FROM tbl_event a
left JOIN (SELECT type_person FROM tbl_event WHERE id_animal = 1) as 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;

基本上您缺少别名(在本例中为 b)

Here's an updated fiddle

关于mysql - 根据结果​​递归查询和更改目标表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com