2010-02-21 2 views
1

다른 필드를 연결하여 만든 필드를 보여주는보기를 만들어야합니다. 내가 사용하는 간단한 쿼리는이 하나입니다문자열을 연결하거나 기본값을 추가하는 SQL 쿼리

SELECT  
    CODPROY, DESCPROY, USER, CODPROY + ' - ' + USER + ' - ' + DESCPROY AS Expr 
FROM  
    dbo.PROY 

문제는 사용자가 NULL이 될 수 있으며이 경우에 나는 '이용 불가'와 같은 기본 텍스트, 뭔가를 삽입해야합니다. 이 작업을보기에서 수행 할 수 있습니까?

+0

당신의 RDBMS는 무엇을 사용하는 경우? – codeholic

+0

SQL Server입니다. 죄송합니다. 어쨌든 나는 여러 개의 RDBM에 이식 가능한 표준 SQL 솔루션을 선호한다. –

답변

3

사용 coalesce 당신은 SQL 서버

SELECT 
    CODPROY, 
    DESCPROY, 
    USER, 
    CODPROY + ' - ' + COALESCE(USER,'NOT AVAILABLE') + ' - ' + DESCPROY AS Expr 
FROM dbo.PROY 
+0

Transact SQL 명령을 사용하여 솔루션을 사용하십시오. 고마워. –

1

예, 가능합니다. 당신은 ... IFNULL (MySQL의) 또는 같은 것을 사용할 필요가

CREATE VIEW foobar as 
SELECT CODPROY 
     , DESCPROY 
     , USER 
     , CODPROY + ' - ' + IFNULL(USER,'DEFAULT') + ' - ' + DESCPROY AS Expr 
FROM dbo.PROY; 
+0

연결에 '+'를 허용하지 않기 때문에 MySQL이라고 생각하지 않습니다. – codeholic

관련 문제