【发布时间】:2018-02-13 18:10:48
【问题描述】:
我有 2 张桌子: - 一个(用户)在名为 login 的列中包含每个用户的首字母 - 另一个(任务计划的)在名为 userId 的列中包含相同的首字母。 我需要从匹配条件“技术员”的“用户”表中选择所有用户,然后我需要从与这些用户匹配的任务计划中选择所有任务。
我已经构建了以下查询:
SELECT
tp.*
FROM
taskplanned tp
WHERE
tp.userId IN (
SELECT
(
GROUP_CONCAT(CONCAT('''', login, ''''))
)
FROM
users u
WHERE
u.cis_role LIKE '%technician%'
)
当独立运行子查询时,它会显示: 'BDG','FG','BJ','WDG','NDW','TV','SA','JV','GW','MU','KD','LV','KL ','TDW','DK','KDS','PD','WB'
所以,我假设在主查询的“IN”子句中插入这部分时,它应该可以工作。不幸的是,它不是。我在这里遗漏了什么吗?
如果我从子查询中获取结果并将其手动添加到主查询中,它就像一个魅力..
【问题讨论】:
标签: mysql subquery group-concat