将一个查询的结果作为一组条件组合在一起,以便在同一张表上运行另一个查询

时间:2018-08-12 15:26:21

标签: sql subquery common-table-expression with-statement

我正在尝试运行查询以执行以下操作;所有信息都将包含在同一表中。

对于感兴趣的指定产品,找到产品的价格以及销售国家/地区。此查询的结果应产生一组国家/地区和一组与该产品在每个产品中的销售价格相对应的价格。国家/地区(价格因国家/地区而异)。

例如,此查询的结果可能表明该产品在印度的售价为100美元,在俄罗斯的售价为200美元。 (在运行此查询之前,我们不知道产品在这些国家或地区的价格是出售的)

该查询的结果应随后用作一组条件,以按照另一个查询从表中提取其他感兴趣的参数。该查询的结果是我们希望获得的最终结果。

ie,第二个查询应该像声明国家/地区和价格= $ 100时一样工作(即,如果两个都为真,则返回该条件下所有产品的名称)这个国家的价格)。 重复此搜索方法,以显示国家/地区为俄罗斯且价格为200美元等的所有产品。

第一个查询应产生一组条件,第二个查询应遍历所有这些条件并产生结果。 国家和价格组合将有所不同,因此不应在任何时候进行静态定义。

我已经看到了几种不同的方法,包括WITH,CTE和子查询,但是一直很难正确地做到这一点。 我遇到的部分问题是,我对第二个查询的条件是第一个查询的结果的组合。

对此提供的任何帮助都非常感谢!预先感谢!

1 个答案:

答案 0 :(得分:0)

您应该使用将在第一个查询上运行的游标,在每次迭代中将2个结果保留在2个局部变量中,然后使用这些变量运行第二个查询。