-3

親愛なる私はSQL選択文を書いています:

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

CourtType は null 許容の int 列です

選択した列CourtType=nullが「Court」を返すときに必要です

4

2 に答える 2

1

ISNULL()またはの仕事のようですCOALESCE():

SELECT 
  Diw_Tb_Court.Fd_CourtCode,
  COALESCE(Diw_Tb_Court.Fd_CourtName + ' ', '')
  + COALESCE(Diw_Tb_CourtType.Fd_CourtType, '') AS Court 
FROM …
于 2012-04-15T21:03:02.303 に答える
1

この質問の書き方では、あなたのニーズを理解するのは難しいですが、推測すると、左外部結合と CASE ステートメントが必要なだけだと思います。左外部結合により、Diw_tb_CourtType テーブルに一致する行がない場合でも、Diw_Tb_Court テーブルからの行が確実に返されます。CASE ステートメントを使用すると、Diw_Tb_courtType 結合が発生したかどうかを調べることができます。発生した場合は、その名前を「名前」列に追加します。

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
于 2012-04-15T20:06:03.310 に答える