Как использовать несколько наборов данных в предложении WHERE и 'in'
Привет У меня есть две таблицы с основными подробными данными:
мастер:
id -- no -- buyer -- active 1 -- 123 -- aaa -- True 2 -- 124 -- bbb -- False
...
деталь:
id -- masterID -- sellDetail -- status 1 -- 1 -- orange -- 1 2 -- 1 -- apple -- 2 3 -- 1 -- potato -- 0 4 -- 1 -- banana -- 4
...
Я хочу, когда учитель ряду активных (Active=истина), затем выберите записей подчиненной таблицы, что состояние (0, 1 , 2) и если мастер строка выключена (actvie=false), то выбрать записи, что состояние (0, 1, 4).
статус-это smallint.
Что я уже пробовал:
select * from detail LEFT OUTER JOIN master ON detail.masterID = master.id WHERE status IN (case when master.active='true' then '0,1,2' else '0,1,4' end)
но есть ошибка: ошибка преобразования в тип varchar значение '0,1,2' в smallint тип данных.