2012-04-15 1 views
-3

родимых я пишу SQL SELECT заявление:выбрать при условии в SQL

SELECT 
    CourtCode, 
CourtName+ ' '+ CourtType AS Court 
from table 

CourtType обнуляемого ИНТ колонок

я хочу, когда столбец CourtType=null моего выбор возвращение 'Суд'

+1

этот вопрос необходим мастеринг, как изменить формулировку я не могу понять, что вы просите у всех –

+1

это выглядит как они хотят сазе для одно из выбранных значений, но я не уверен, но вопрос нужно прояснить. – Taryn

+0

SELECT Diw_Tb_Court.Fd_CourtCode, Diw_Tb_Court.Fd_CourtName + '' + Diw_Tb_CourtType.Fd_CourtType AS Court из таблицы одна внутренняя таблица соединений и т. Д. ..... это мое querey, я хочу получить суд даже Diw_Tb_CourtType.Fd_CourtType = null в sql, когда Diw_Tb_CourtType. Fd_CourtType = null result of query court = null no i donnot need that i want, если Diw_Tb_CourtType.Fd_CourtType <> null делает объединение, если Diw_Tb_CourtType.Fd_CourtType == null нет необходимости в concate –

ответ

1

Похоже, работа для ISNULL() или COALESCE():

SELECT 
    Diw_Tb_Court.Fd_CourtCode, 
    COALESCE(Diw_Tb_Court.Fd_CourtName + ' ', '') 
    + COALESCE(Diw_Tb_CourtType.Fd_CourtType, '') AS Court 
FROM … 
1

Пути эти вопрос написан, трудно понять ваши потребности, но если бы я догадался, я думаю, вам просто нужно левое внешнее соединение и оператор CASE. Левое внешнее соединение гарантирует, что строки из таблицы Diw_Tb_Court возвращаются, даже если в таблице Diw_tb_CourtType нет соответствующей строки. Оператор CASE позволяет вам опросить, произошло ли соединение Diw_Tb_courtType, и если да, добавьте его имя в столбец «name».

SELECT 
    c.Fd_CourtCode, 
    name = c.Fd_CourtName + 
     CASE WHEN ct.Fd_CourtType is not null THEN ' ' + ct.Fd_CourtType ELSE '' END 
FROM 
    Diw_Tb_Court c 
    left outer join Diw_Tb_CourtType ct on ct.id = c.courtType