Если вам требуется совпадение, то left join
s не требуется. Так что удали их. Неясно, откуда взялось secretCode
; это должно быть явным.
Последний join
на attribute
бесполезен - не используется для фильтрации. И secretCode
не берется из этой таблицы (вы получите сообщение об ошибке, потому что ссылка не определена).
Итак, я думаю, что это делает то, что вы хотите:
SELECT tt.*
FROM TestDB.dbo.SomeCompany PC JOIN
TestDB.dbo.CMCompany CMC
ON PC.companyuid = CMC.companyuid JOIN
TestDB.dbo.ATRIBUTE a
ON a.Contract = CMC.contract AND a.attribute = 'SomeThing' JOIN
taskTable tt
ON task like CONCAT('%', a.valstring)
WHERE secretCode = 'Mistery'