当前位置: 首页 > 面试题库 >

从列表中选择SQL PIVOT(在SELECT中)

帅博简
2023-03-14
问题内容

是否可以执行PIVOT并从表中选择列表,而不是使用单个值?

像这样(不正确的语法错误):

SELECT *
FROM (
    SELECT RepID, MilestoneID, ResultID FROM RM
) AS src
PIVOT (
    MAX(ResultID) FOR MilestoneID IN  (SELECT id FROM m) 
) AS pvt

这个可以编译,但是对我不起作用:

SELECT *
FROM (
    SELECT RepID, MilestoneID, ResultID FROM RM
) AS src
PIVOT (
    MAX(ResultID) FOR MilestoneID IN  ([1], [2], [3], [4]) 
) AS pvt

PS:我不想使用动态SQL,有没有一种方法可以不使用动态SQL?


问题答案:

如果没有动态SQL,那么恐怕答案是否定的,那是不可能的。解析器需要预先知道值才能执行到列的数据透视。



 类似资料:
  • SQL可能如下所示: 如何将said SQL转换为querydsl? 编辑:因为它受到混淆:是的,这个例子是愚蠢的。不,我不想“优化”SQL。我所需要的只是一些生成完全相同(愚蠢的)SQL的QueryDSL代码。或者任何其他查询DSL代码生成任何类型的。如果可能的话。

  • 问题内容: 我正在创建许多脚本,有时要检查表是否根据需要进行更新,我即时编写了一些SELECT语句。 在SQL SERVER中,您可以编写如下内容: 出于可见性原因,这很有用,但是在ORACLE中似乎不起作用,我不知道如何实现,除了手动写下所有列名。 您如何在oracle中做到这一点? 我知道我们不应该在生产脚本等中包含这样的查询。在开发中运行脚本时,我只是想即时使用它。在不同的点上,我更感兴趣的

  • Select 列选择器 1.3.0 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 所有的配置模式中,都要求传入数组的元素(对象)中含有value和label属性(可以通过value-name和label-name参数自定义), value用于在回调时,区别选择了哪一个(针对开发者),label用于展示在选择器中,供用

  • 问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。

  • 我最近一直在通读Geb的书,并试图掌握它,因为它似乎是一个伟大的工具。我觉得我已经到了那里,但仍然有一些真正的核心概念,我似乎无法理解。 谢谢!

  • 我的代码如下: WebElement stateDropDown=驱动程序。findElement(By.xpath(“/html/body/form/div[3]/main/div/div/div/span/div/fieldset/div[4]/div[1]/span/span[1]”);列表选项=状态下拉列表。findElements(By.xpath(“/html/body/div[1]/