多行每记录SQL语句

时间:2014-03-07 15:34:20

标签: sql report servicenow

我不确定这是否可行,但我的经理要我这样做......

使用下面的图片作为参考,是否可以检索一组记录,其中每条记录有2行列?

所以列:数字,事件编号,供应商编号,客户名称,客户位置,状态,已打开和更新将是第一行和第一行的一部分:工作注释将是跨越报告宽度的新行。每条记录都有两行。这是否可以使用GROUP BY语句?

记录1

第1行=号码,事件编号,供应商编号,客户名称,客户位置,状态,已打开和更新

第2行=工作笔记

记录2

第1行=号码,事件编号,供应商编号,客户名称,客户位置,状态,已打开和更新

第2行=工作笔记

记录 n

...

PDF Export

2 个答案:

答案 0 :(得分:1)

我认为内置的报告引擎不可能。您需要导出数据并使用其他内容对其进行格式化。

您可以在简短描述中找到类似于您想要的内容(列表报告,按简短描述分组),但您不能按工作说明进行分组,以便完成。

答案 1 :(得分:1)

需要注意的一点是work_notes字段实际上不是表格中的字段,work_notes字段的类型为journal_input,这意味着它实际上只是一个网关实际的基础数据模型。 “修改”work_notes实际上只是插入sys_journal_field

sys_journal_field是存储您正在寻找的工作注释的表。给定事件记录的sys_id,此URL将为您提供该特定记录的所有日志字段条目:

/sys_journal_field_list.do?sysparm_query=name=task^element_id=<YOUR_SYS_ID>

您会注意到这包括所有日记字段(评论+工作注释+其他任何内容),因此如果您只是想要工作笔记,那么您只需添加一个针对element的查询:

/sys_journal_field_list.do?sysparm_query=name=task^element=work_notes^element_id=<YOUR_SYS_ID>

这对您意味着什么!

虽然您无法在UI中将物理行分成多个逻辑行,但在日志字段的情况下,可以使用数据库将sys_journal_field表连接到目标表视图。这与您的目标背道而驰,因为您不会为所有工作注释获得单行,而是为每个匹配的工作注释添加一行。

鉴于INC123事件包含3个工作注释,您对数据库视图的报告看起来有点像这样:

  
      
  • 第1行:INT123 |马克米利|这是一个测试事件|
  •   
  • 第2行:INT123 | | |工作说明#1
  •   
  • 第3行:INT123 | | |工作说明#2
  •   
  • 第4行:INT123 | | |工作说明#3
  •