【问题标题】:adding a constant value to the results of an progress query向进度查询的结果添加一个常量值
【发布时间】:2016-11-30 16:07:46
【问题描述】:

是否有在进度查询的结果中添加一个常量值?

在 sql server 中你可以这样做

select *, 1 As DateID from dbo.customers

1 是插入的静态字段 不确定如何或是否可以在进度数据库中执行此操作?

【问题讨论】:

  • 你打算如何使用查询结果?你正在填充一个临时表,一个 ProDataset 吗?在 GUI 浏览小部件中对此进行可视化?您是否在代码中处理查询?
  • 您能否发布此查询的示例输出?
  • 我正在使用 SSIS 包将数据移动到表中。我有一个 ODBC 源和一个 OLE DB 目标。我希望一个值在我的目标表中始终为真。我知道还有其他方法可以做到这一点。我只是想知道 Progress 是否允许您在查询结果中定义常量值。
  • 示例结果只是表中的所有数据加上标题为“DateID”且所有值为 1 的另一列

标签: sql progress-4gl openedge progress-db


【解决方案1】:

不,当您在查询中使用“*”时,无法将常量值添加到结果中。一种解决方法是写入所有列名而不是使用“*”,然后最后在查询中使用常量值。

例子:

select c1, c2, c3, c4, 1 as DateID from dbo.customers 

【讨论】:

    【解决方案2】:
         SELECT * 
           FROM (SELECT 'somestaticvalue' AS staticvalcolumn
                   FROM "PUB"."_Db" AS dummy 
                 OFFSET 0 ROWS 
                  FETCH FIRST 1 ROWS ONLY) AS staticvalplaceholder
     RIGHT JOIN "PUB"."Customer" cust on 1=1
    

    【讨论】:

    • 虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码的答案没有用处。
    猜你喜欢
    • 2019-05-29
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    • 2020-10-03
    相关资源
    最近更新 更多