如何根据SQL的值查看不同的数据
如何使值以不同方式显示?如何根据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的方式,并提供了许多好处,包括更容易维护和经常更快的执行。
欢迎来到*。你试过什么了? – dg99
通过在SQL上购买书:) –
'案件ID当1那么'是'当2那么'没'当3那么'也许'结束作为名称'。也许。或者在表格中添加一个名称列,用SELECT代替ID。你的问题不是特别清楚。 –