Maximo SQL BiRT 报告多列 alnvalue

Maximo SQL BiRT reporting multiple columns of alnvalue

我有一个 BiRT 报告与 SQL 服务器数据库有关。我需要在此报告中包含 Assetspec.alnvalue 的多个列,按相同 table.

Assetspec.assetattrid 进行过滤

对于那些不了解 Maximo 的人来说,alnvalue 就像一个 "other thing" 列。所以如果我这样做:

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

我得到了某事的所有信息。我的情况是我需要在单独的列中包含 5 组信息 "from" assetattrid 以及所有这些信息在一个查询中...

这可能吗?

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

如果我们将相关子查询添加到有关 'something else' 属性的 return 信息中,您的查询将如下所示。

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'

如果我们将连接添加到 return 该信息,这就是您的查询。

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'

希望对您有所帮助。