如何使值以不同方式顯示?如何根據SQL的值查看不同的數據
例子: 我有一個表「Feelings
」一個叫「Happy
」 如果我select * from 'Happy'
它會帶回列的值1, 2, 3
(與用戶ID顯示哪些用戶是感覺) 1
代表是,2
代表沒有,我想表不顯示1,2,3
而是表現出肯定的,沒有3
代表也許 ,也許
我怎麼會去了解,使本?
如何使值以不同方式顯示?如何根據SQL的值查看不同的數據
例子: 我有一個表「Feelings
」一個叫「Happy
」 如果我select * from 'Happy'
它會帶回列的值1, 2, 3
(與用戶ID顯示哪些用戶是感覺) 1
代表是,2
代表沒有,我想表不顯示1,2,3
而是表現出肯定的,沒有3
代表也許 ,也許
我怎麼會去了解,使本?
如果你只是有一個表稱爲Feelings
和一個名爲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個表,一個與Happy
列名爲Feelings
這有標識,並呼籲Happy
與一列的識別碼與定義的狀態在另一列(我們稱之爲happy_x
)另一個表,那麼你可以簡單的使用下面的查詢:
SELECT
f.user_id, h.happy_x
FROM Feelings f
INNER JOIN Happy AS h
ON h.id = f.happy
我相信她有另一個鏈接到用戶ID的表。其中她希望基於1,2,3值的關聯用戶標識。我認爲她最終需要的是在感覺和用戶之間使用WHERE子句進行簡單連接。 – Isaiah3015
好點 - 我會將它作爲選項進行編輯。 – Phil
在sql中只有一個這會給出一個錯誤 – Hogan
CASE HAPPY
WHEN '1' THEN 'Yes'
WHEN '2' THEN 'No'
WHEN '3' THEN 'Maybe'
ELSE 'Other'
END AS 'Happy'
雖然您可以在此處使用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的方式,並提供了許多好處,包括更容易維護和經常更快的執行。
歡迎來到StackOverflow。你試過什麼了? – dg99
通過在SQL上購買書:) –
'案件ID當1那麼'是'當2那麼'沒'當3那麼'也許'結束作爲名稱'。也許。或者在表格中添加一個名稱列,用SELECT代替ID。你的問題不是特別清楚。 –