2017-07-27 12 views
1

どうやって値を違うように表示できますか?SQLの値によって異なるデータを表示する方法

例: 私はそれを戻すことがselect * from 'Happy'場合は「Happy」 と呼ばれる列を持つ表「Feelingsが」はいため 1スタンド(これ感あるユーザーを示すためにユーザIDと)1, 2, 3値を有する、2ノーの略で、多分 ため3スタンドは、私は多分

どのように私はこれを作るために行くか、テーブルが無い、1,2,3を表示する代わりに、はい表示しないようにしたいですか?

+1

ようこそStackOverflow。これまでに何を試しましたか? – dg99

+0

SQL: –

+0

の本を買うことで 'ケースID 1'、 'はい'のとき2、 'いいえ' 3時には 'END AS名'。多分。または、テーブルに名前の列を追加し、そのIDの代わりに 'SELECT'を追加します。あなたの質問は特に明確ではありません。 –

答えて

0

あなただけのテーブルがFeelingsと呼ばれていると、列はただのIDでHappyと呼ばれる場合は、次のクエリ試すことができます。それ以外の場合は

SELECT 
    user_id, 
     CASE HAPPY 
     WHEN '1' THEN 'Yes' 
     WHEN '2' THEN 'No' 
     WHEN '3' THEN 'Maybe' 
     ELSE 'Other' 
    END AS 'feeling_happy' 
FROM FEELINGS 

を、あなたは2つのテーブルを持っている場合、1列HappyそれとFeelingsと呼ばれますIDと(私たちはhappy_xを呼ぶことにします)別の列内の1つの列内のIDと定義されたステータスのHappyと呼ばれる別のテーブルを持って、その後することができます次のクエリ簡単な使用:

SELECT 
    f.user_id, h.happy_x 
FROM Feelings f 
    INNER JOIN Happy AS h 
     ON h.id = f.happy 
+0

私は彼女がユーザーIDにリンクする別のテーブルを持っていると思います。彼女は1,2,3の値に基づいて関連するユーザーIDを求めています。私は最終的に彼女が必要とするのは、感情とWHERE句を持つユーザーの間の単純な結合であると思います。 – Isaiah3015

+0

良い点 - それをオプションとして編集します。 – Phil

+0

sqlには他に1つしかありませんが、これはエラーを出します – Hogan

1
CASE HAPPY 
    WHEN '1' THEN 'Yes' 
    WHEN '2' THEN 'No' 
    WHEN '3' THEN 'Maybe' 
    ELSE 'Other' 
END AS 'Happy' 
0

ここで他の回答としてCASEを使用できますが、ルックアップ値のテーブルやCTE、VALUES句にも結合を使用できます。ストアドプロシージャ内のテンポラリテーブル。このようになります

SELECT user_id, COALESCE(lookup.value,'Unknown') as happy 
FROM feelings 
LEFT JOIN (
    VALUES 
     ('1','Yes'), 
     ('2','No'), 
     ('3','Maybe') 
) AS lookup(k,value) ON feelings.happy = lookup.k 

テーブルに参加し、関連情報を格納を使用するには、物事のより多くのSQLの方法で、簡単にメンテナンスと頻繁に速く実行を含む多くの利点を提供しています。

関連する問題