2016-06-29 11 views
0

あなたが手助けできることを願っています。私はその必要はないと思うので、クエリ全体を表示していないが、 'ストリート'にヌル値があることを確認するクエリを取得したいので、 'フリーアドレス'を見てそこに結果を入れます。私はそれがcase式または連結1つの列がnullの場合、他の列のデータを取得します

現在の結果

SELECT 

IdNum 
street 
free address 

from ID 


IdNum   street     free address 
    1   stack over flow    null 
    2    null     stack exchange 
    3   downing street    null 

必要な結果を伴う推測している - ちょうどデモの目的のために、ディスプレイ上にある必要はありません。フリーアドレス欄に注意してください。

SELECT IdNum, 
     COALESCE(street, free_address) as street, 
     free_address 
FROM ID; 

注:IDは、テーブルのための奇妙な名前で、free addressが有効な列名ではありません(理由は任意の助け

IdNum   street     free address 
    1   stack over flow     null 
    2   stack exchange    stack exchange 
    3   downing street     null 

感謝

+0

を働いている場合には、以下を使用することができますが、これに貢献したすべての人へ – TheGameiswar

答えて

2

COALESCE()関数は、この行いますスペースの)。

COALESCE()は、基本的にすべてのデータベースで使用できるANSI標準機能です。

+0

多くのおかげで動作しますが、私がいました完全にそれを考えて! – whitz11

+1

感謝の一番良い方法は、答えを正しいものとして受け入れることです。 – Ruhaan

1

あなたが選択した代替とNULL値を置き換えることができCOALESCE()機能を使用します:

SELECT IdNum, COALESCE(street, `free address`) AS street, `free address` 
FROM ID 
1

あなたはCASECOALESCEまたはISNULL(SQL-Serverで)を使用することができます。

SELECT IdNum, 
     CASE WHEN street IS NULL THEN free_address ELSE street END as street, 
     free_address 
FROM ID; 

SELECT IdNum, 
     COALESCE(street, free_address) as street, 
     free_address 
FROM ID; 

SELECT IdNum, 
     ISNULL(street, free_address) as street, 
     free_address 
FROM ID; 
0

をISNULL(通り、freeaddress)SQL Serverと

Select [IdNum], 
Case 
When [street] Is Null AND [free address] Is Not Null 
Then [free address] else [street] END As 'street', 
[free address] 
from ID 
関連する問題