首页 > 解决方案 > PLSQL 过程迭代 SELECT 语句并提取列值

问题描述

我有以下查询(结果附在屏幕截图中):

SELECT make, year, color, count(*) 
FROM cars
GROUPY BY make, year, color
ORDER BY 4 DESC;

1

我想遍历结果表并为每行中的条件生成子查询(下面的示例)。我希望然后使用这些子查询来制作一个带有样本结果的表,这些样本结果符合原始表中每一行的标准。

这可能看起来像是一个奇怪或不必要的请求,但这是为了便于阅读而简化的示例。这是我想根据自己的推理采取的方法,因为我想要一个可以返回并更改以供将来使用和查询的不同变体的解决方案。

SELECT * from cars 
WHERE make = 'Jeep'
AND  year = '2019'
AND color = 'Black';


SELECT * from cars 
WHERE make = 'Ford'
AND year = '2018'
AND color = 'Red';

标签: sqloracleplsqlprocedure

解决方案


您可以像这样准备字符串并稍后运行它们

select 'select * from cars where make = ''' || make || ''' and year = ''' || year || ''' and color = ''' || color || ''';' 
from cars

推荐阅读