У меня есть 2 таблицы: - одна (пользователи), содержащая инициалы для каждого пользователя в столбце с именем login - другая (taskplanned), содержащая те же инициалы в столбце с именем 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» основного запроса она должна работать. К сожалению, это не так. Я что-то упустил?
Если я возьму результат из подзапроса и добавлю его вручную к основному запросу, он будет работать как шарм ..