Я создаю запрос / подзапрос SQL, который вернет список «учебных дней». Запрос, который я использую, похоже, не распознает значения из подзапроса, и я не могу понять, почему. Если я запускаю подзапрос, я получаю правильные значения. По какой-то причине, когда я пытаюсь запустить весь запрос и подзапрос вместе, он работает неправильно, и я получаю результаты только для 1-го значения в списке, разделенном запятыми. Если я выполню запрос ниже, я получу результаты только для tblclasses.cla_ID = 1234:
SELECT
*
FROM
classdays
WHERE
classdays.classday_classid IN (SELECT
CONCAT_WS(', ',
tclasses.cla_ID,
tclasses.cla_nextclass,
tclasses_1.cla_nextclass) AS nextclasses
FROM
tclasses
LEFT JOIN
tclasses AS tclasses_1 ON tclasses.cla_nextclass = tclasses_1.cla_ID
WHERE
tclasses.cla_ID = 1234)
Однако, если я запустил только подзапрос, он сработает, и я получу список значений: 1234, 5678, 9012
(SELECT CONCAT_WS(', ',tclasses.cla_ID,tclasses.cla_nextclass,tclasses_1.cla_nextclass) AS nextclasses
FROM
tclasses
LEFT JOIN
tclasses AS tclasses_1 ON tclasses.cla_nextclass = tclasses_1.cla_ID
WHERE
tclasses.cla_ID = 1234)
И если я просто запустил запрос со значениями в операторе IN, как это, он также будет работать:
SELECT
*
FROM
classdays
WHERE
classdays.classday_classid IN (1234, 5678, 9012)
Любая помощь будет принята с благодарностью, как и для некоторых причина, по которой я не могу запустить оператор IN для этих трех значений, разделенных запятыми
Спасибо!