sql select bd.nodoc, av.vstring
from basedoc bd
join attrval av on 1102 = av.wtable and bd.nrec = av.crec and #comp(0001000000000ECh) = av.cattrnam ;
Запрос работает, но выводит только те ДО, у которых указан необходимый внешний атрибут. Чтобы выводились ДО и с установленным атрибутом и без него вместо join использую left join. Запрос выводит все ДО, но отображает пустые значения в av.vstring (во всех строках. даже там, где значение внешнего атрибута есть). Помогите плз, может я не понимаю механизма действия left join? Вроде всегда в таком ключе его использовал, а сейчас затык.
sql select bd.nodoc, CASE WHEN av.vstring IS NULL THEN '' ELSE av.vstring END
from basedoc bd
left join attrval av on 1102 = av.wtable and bd.nrec = av.crec and #comp(0001000000000ECh) = av.cattrnam ;
Т.е. ошибка была в отображении колонки. Это ****, господа. И ради этой фигни я убил сегодня кучу времени. Печаль и ненависть. Тему можно закрывать.