나는 여기에서 모든 답을 읽었고 무슨 일이 일어나고 있는지 알아내는 데 시간이 걸렸습니다. 다음은 Moe Sisko 의 답변 및 일부 관련 연구를 기반으로합니다.
SQL 쿼리가 데이터를 반환하지 않는 경우 null 값을 가진 필드가 없으므로 ISNULL이나 COALESCE가 원하는대로 작동하지 않습니다. 하위 쿼리를 사용하여 최상위 쿼리는 null 값이있는 필드를 가져 오며 ISNULL 및 COALESCE는 모두 원하는 / 예상대로 작동합니다.
내 질문
select isnull(
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
댓글이있는 내 쿼리
select isnull(
--sub query either returns a value or returns nothing (no value)
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
--If there is a value it is displayed
--If no value, it is perceived as a field with a null value,
--so the isnull function can give the desired results
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'