【问题标题】:Maximo SQL BiRT reporting multiple columns of alnvalueMaximo SQL BiRT 报告多列 alnvalue
【发布时间】:2018-05-25 17:48:18
【问题描述】:

我有一个与 SQL Server 数据库有关的BiRT 报告。我需要在此报告中有多个Assetspec.alnvalue 列,按同一张表的Assetspec.assetattrid 过滤。

对于不了解 Maximo 的人来说,alnvalue 就像一个“其他东西”专栏。所以如果我这样做:

Select assetspec.alnvalue AS SetOne
  from assetspec 
  where assetspec.assetattrid = 'something'

我得到了某事的所有信息。我的情况是,我需要在单独的列中包含 5 组“来自”assetattrid 的信息,并将所有这些信息放在一个查询中......

这可能吗?

【问题讨论】:

标签: sql sql-server birt maximo


【解决方案1】:

有两种方法可以做到这一点:使用相关子查询或连接。一般来说,如果您的子查询返回多行,子查询就会出现问题。此外,一般来说,连接选项会为您打开更多选项,用于您可以在查询中执行的其他操作(例如,分组)。

如果我们添加一个相关的子查询以返回有关“其他”属性的信息,您的查询将如下所示。

Select assetspec.alnvalue AS SetOne
    ,(select as2.alnvalue 
        from assetspec as2
        where as2.assetnum = assetspec.assetnum
            and as2.siteid = assetspec.siteid
            and as2.assetattrid = 'something else'
        ) As SetTwo
from assetspec 
where assetspec.assetattrid = 'something'

如果我们添加连接以返回该信息,这就是您的查询的样子。

Select assetspec.alnvalue AS SetOne
    ,as2.alnvalue As SetTwo
from assetspec 
    join assetspec as2
        on as2.assetnum = assetspec.assetnum
        and as2.siteid = assetspec.siteid
        and as2.assetattrid = 'something else'
where assetspec.assetattrid = 'something'

希望对你有帮助。

【讨论】:

  • 非常感谢,这正是我需要的:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多