2013-07-15 3 views
0

Я хотел бы вернуть все записи (entryID) и где выбран флаг языка, я хочу вернуть Да вместо фактического значения в поле атрибута. Я пробовал это, но он возвращает фактическое значение, заполненное, а не Да, где найдено совпадение. Я думаю, что мне нужно, где существует, поскольку это возвращает слишком много строк для каждого языка, связанного с идентификаторами entryID.Возвращает значение по умолчанию, когда найдено совпадение

SELECT distinct x.entryID, ISNOTNULL(a.attributeValue, 'Yes') 
from Entry as x 
left outer join EntryAttribute as e on e.entryID = x.entryID 
left outer join AttributeString as a on a.AttributeID = e.AttributeID 
where a.AttributeDefinitionID = 44 
+2

Вы сделали свою собственную функцию 'ISNOTNULL'? Если так, то проблема, вероятно, есть. –

+2

Откуда взята функция ISNOTNULL? Вы пробовали менять параметры? Какой sql вы используете? – FJT

ответ

1

Используйте инструкцию CASE. Например:

CASE WHEN attributeValue IS NOT NULL THEN 'YES' ELSE 'NO' END 
Смежные вопросы