sql - 选择的排序结果
问题描述
我有以下选择:
SELECT parameter, value
FROM
(
SELECT
parameter,
value
FROM
table r1
WHERE
r1.parameter IN (
'Room meal',
'Snacks between meals',
'Reduction',
'Mornings',
'Noons',
'Evenings',
'Remarks'
)
AND r1.id= 1122632
AND r1.wert IS NOT NULL
AND r1.date= (
SELECT
MAX(date)
FROM
table r2
WHERE
r2.parameter = r1.parameter
AND r2.id= r1.id
)
UNION ALL
SELECT
parameter,
wert
FROM
table r1
WHERE
r1.parameter = 'Status'
AND r1.id= 1122632
AND r1.wert IS NOT NULL
) l
ORDER BY decode(l.parameter, 'Room meal', 1, 'Snacks between meals', 2, 'Reduction', 3, 'Mornings',4, 'Noons',5, 'Evenings',6, 'Remarks',7, 'Status', 8) asc;
我期望选择的结果是这样的:
Parameter Value
_________|_____________|________
Room meal |Yes
Snacks between meals |Yes
Reduction |1500 kcal
Mornings |Cookies
Noons |Cereals
Evenings |Soup
Status |Adapted whole food
Status |Vegetarian food
但取而代之的是这种格式:
Parameter Value
_________|_____________|________
Room meal |Yes
Snacks between meals |Yes
Reduction |1500 kcal
Noons |Cereals
Evenings |Soup
Mornings |Cookies
Status |Adapted whole food
Status |Vegetarian food
你能帮我解决吗?
解决方案
检查解码结果:
SELECT parameter,
value,
decode(l.parameter, 'Room meal', 1, 'Snacks between meals', 2, 'Reduction', 3, 'Mornings',4, 'Noons',5, 'Evenings',6, 'Remarks',7, 'Status', 8)
FROM ...
因此,您可以看到 decode 表达式的结果以及问题的原因。
推荐阅读
- r - 是否有一个 R 函数可以根据一个列变量查找生成列值?
- yaml - 具有多个文件的 YML:未处理的拒绝 YAMLException:重复的映射键
- bash - `read` builtin 不保留仅是空格的输入
- elixir - is with 和 try/rescue 在长生不老药中可以相同
- excel - Excel VBA中的引用范围
- python - 正则表达式:匹配除转义字符之外的所有内容
- javascript - 有没有办法获取一个函数可能访问的对象的所有属性?
- c - 我正在尝试确定在 do-while 中输入的学生人数,并在循环外显示数字
- sql - 为什么我的在线 SQL 编辑器看不懂 group_concat_max_len?
- csv - 如果存在,我如何删除/回收/删除 csv 文件