2016-08-10 4 views
0

SQL値を追加する予定です。SQLにNULLを追加する

Dim cmdStringc23 As String = " Update [Associate_wise_chart] 
     set [Hours]= (select SUM(tat) from [Dashboard].[dbo].[Dashboard] 
     where [assignee] like '%Santosh%') + (select SUM(tat) 
     from [Dashboard].[dbo].[requests] 
     where [assignee] like '%Santosh%') " 

ので、ダッシュボードテーブルから 値がリクエストテーブルから 値がNULLである、ことを検討してください。

私は10 + NULL = NULLと答えています。
私はNULLをtatに設定しました。私の要件は、私がなくとしてNULL

として答えを表示する必要がいずれかを見てもらえますか?あなたにISNULL取得するSQLから

+0

未知数は不明です! – jarlh

+0

'set ColX = coalesce(nullable-select、ColX)'のようなことをします。 – jarlh

+0

OK、** TAT **の列をヌルまたはヌルとして定義する方法を教えてください。 私はNULLに関係なく値を表示する必要があります。 –

答えて

3

使用ISNULL関数...

Update [Associate_wise_chart] 
    set [Hours]= ISNULL((select SUM(tat) from [Dashboard].[dbo].[Dashboard] 
where [assignee] like '%Santosh%'), 0) + ISNULL((select SUM(tat) 
from [Dashboard].[dbo].[requests] 
where [assignee] like '%Santosh%'), 0) " 

(10、0)+ ISNULLは(NULL、0)10 + 0 = 10

+1

実際、ISNULLは(ANSI)SQLではなく、製品固有です関数。 – jarlh

+0

しかし、この場合の問題ソルバですよね? – Veljko89

+0

絶対に、 'COALESCE()'はANSI SQL関数です。 – jarlh

1

あなたがすることはできません= 。

NULLは「不明」の同義語です。 10プラス不明は不明です。未知数は、0、-1、42、または6E23 + π/2でも可能です。しかしそれはまだ不明です。

これは、NULLを取得する理由です。

代わりに、NULLをチェックし、NULLでなければ他の値を追加してください。

0

セットNOTNULLだけNOT NULL報復列を変換し、NULLの代わりに0を持っているテーブルに

+0

それは将来的にエラーを解決します –

+1

助けてくれません。 SUMでの(サブ)選択は、行が見つからなければNULLを返します。 – jarlh

0

迅速かつ簡単に作成中。

+0

またはIsNull(tat、0) – praveen

0
Dim cmdStringc23 As String = " Update [Associate_wise_chart] 
    set [Hours]= (select isnull(sum(tat), 0) from [Dashboard].[dbo].[Dashboard] 
    where [assignee] like '%Santosh%') + (select isnull(sum(tat), 0) 
    from [Dashboard].[dbo].[requests] 
    where [assignee] like '%Santosh%') " 

使用ISNULL

0

アップデート[ダッシュボード]。[DBO]。[Associate_wise_chart] セット[時間] = ISNULL(([ダッシュボード]からSUM(TAT)を選択する。[DBO]。[ダッシュボード[%Santosh%]のように[代理人]、0)+ ISNULL([ダッシュボード]。[dbo] .Unbuildsから[SUM(tat)名前] = 'Santhosh'

ISNULLが動作しています。みんなありがとう。

関連する問題