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'
希望对您有所帮助。
我有一个 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'
希望对您有所帮助。