sql - PLSQL 过程迭代 SELECT 语句并提取列值
问题描述
我有以下查询(结果附在屏幕截图中):
SELECT make, year, color, count(*)
FROM cars
GROUPY BY make, year, color
ORDER BY 4 DESC;
我想遍历结果表并为每行中的条件生成子查询(下面的示例)。我希望然后使用这些子查询来制作一个带有样本结果的表,这些样本结果符合原始表中每一行的标准。
这可能看起来像是一个奇怪或不必要的请求,但这是为了便于阅读而简化的示例。这是我想根据自己的推理采取的方法,因为我想要一个可以返回并更改以供将来使用和查询的不同变体的解决方案。
SELECT * from cars
WHERE make = 'Jeep'
AND year = '2019'
AND color = 'Black';
SELECT * from cars
WHERE make = 'Ford'
AND year = '2018'
AND color = 'Red';
解决方案
您可以像这样准备字符串并稍后运行它们
select 'select * from cars where make = ''' || make || ''' and year = ''' || year || ''' and color = ''' || color || ''';'
from cars
推荐阅读
- react-native - 使用 expo start 启动时,Expo 不会创建 Websocket ApolloClient 实例
- dataweave - 如何使用过滤器 DataWeave 从数组 JSON 中删除对象
- database - SQLDelight v1.4 不生成界面
- python - Python:在代码中使用 PARALLEL 技术时如何忽略警告?
- javascript - 如何使用 Leaflet 创建文本框?
- javascript - 如何使用 axios 取消正在进行的 GET 请求
- javascript - dgrid-不区分大小写的列排序
- java - BufferedImage 会降低性能
- sql-server - 如何为同一报表创建具有两个不同参数选择数据的 SSRS 报表订阅?
- python - 将具有相同名称但不同编号的多个列复制到 python/pandas 中的新 df