sql - 选择几行到几个变量中 - Oracle PL/SQL
问题描述
我有一个返回这样的查询的选择语句:
SELECT value FROM dummy WHERE condition = 1;
ROW | value
-----|-----
1 | val1
2 | val2
3 | val3
4 | val4
我有 4 个变量
r1, r2, r3, r4
将这些变量分配给我的查询值的最简洁方法是什么?我可以使用 SELECT INTO 语句吗?
解决方案
一种方法是:
SELECT p_v1 = MAX(CASE WHEN row = 1 THEN value end),
p_v2 = MAX(CASE WHEN row = 2 THEN value end),
p_v3 = MAX(CASE WHEN row = 3 THEN value end),
p_v4 = MAX(CASE WHEN row = 4 THEN value end)
FROM dummy
WHERE condition = 1;
这是一个返回一行的聚合查询。如果缺少特定行,则值为NULL
。
推荐阅读
- reactjs - TypeError: action$.ofType(...).mergeMap is not a function
- angular - 脚手架Angular 6组件形式
- linux - problem using ffmpeg drawtext for rtl languge
- azure - 链接到 Application Insights UI
- css - 如何为移动设备显示缩放 50% 的 iframe 内容
- powershell - 如果未提供值,如何从 cmdlet 中省略 powershell 参数?
- react-native - 在 React Native 中使用蓝牙发送文件
- keras - 批量标准化节点错误地相互链接
- ios - 用字典填充数组
- elasticsearch - ElasticSearch 覆盖从文本到对象的映射