gpt4 book ai didi

mysql - 如何通过条件查询(左连接/右连接/内连接/多选,...或)从多表中获取数据

转载 作者:行者123 更新时间:2023-11-29 05:58:48 26 4
gpt4 key购买 nike

我有条件查询的问题,无法解决,我需要你的帮助。我将 mysql 与 innodb 一起使用,并且有一些表如下所示。

表 1:---------------------- uers_type_1 ----------------------

user_id int(11) primary auto_increment
firstname varchar(15)
lastname varchar(20)
.
.
.

表 2:---------------------- uers_type_2 ----------------------

user_id int(11) primary auto_increment
firstname varchar(15)
lastname varchar(20)
.
.
.

表 3:---------------------- user_request ----------------------

request_id int(11) primary auto_increment
user_type enum("ut1","ut2")
user_id int(11)
request text

现在我需要一个查询来获取这样的东西:用户从用户类型表中请求带有用户名字和姓氏的数据

结果:

-----------------------------------------------
- firstName - lastName - request_id - request -
-----------------------------------------------
- Robert - De Niro - 10 - some request.
- Will - Smith - 93 - some request.
.
.
.

我的查询是这样的,但它不起作用

SELECT r.request_id , r.request, (
execute(
concat('select u.first_name AS firstName, u.lastname AS lastName from ',
(SELECT CASE r.user_type WHEN 'ut1'
THEN 'uers_type_1' WHEN 'ut2' THEN 'uers_type_2' END),
' u WHERE u.user_id = ', r.user_id, ''
)
)
)
FROM `user_request` r
WHERE 1

最佳答案

我找到了解决你问题的方法,

select user_request.r_id , user_request.request,
(select Case user_request.user_type when 'u1' then user_type_1.fistname else user_type_2.firstname end ) as name
from user_request
left JOIN user_type_1 on user_request.user_id = user_type_1.id and user_request.user_type = 'u1'
left JOIN user_type_2 on user_request.user_id = user_type_2.id and user_request.user_type = 'u2'

重点是:尝试使用左连接在查询中指向两个表,然后在您的选择选项中选择应该用于获取数据的位置。

(select Case user_request.user_type when 'u1' then user_type_1.firstname else user_type_2.firstname end ) as name,
(select Case user_request.user_type when 'u1' then user_type_1.lastname else user_type_2.lastname end ) as family

希望对你有帮助。

关于mysql - 如何通过条件查询(左连接/右连接/内连接/多选,...或)从多表中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46863969/

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