【发布时间】:2018-04-02 12:04:10
【问题描述】:
我遇到了条件查询问题,无法解决,我需要您的帮助。 我将 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
【问题讨论】:
标签: mysql if-statement conditional