我有一个非常简单的查询,它返回Notes字段。由于可以有多个注释,所以我只想要前2个。没问题。但是,我将在另一个查询中使用sql。我真的不希望我的结果中有2行。我想将结果合并为1个字段值,因此结果中只有1条结果行。这可能吗?
例如,我目前得到以下信息:
12345 1001 500.00 "Note 1"
12345 1001 500.00 "Note 2"
我想看的是:
12345 1001 500.00 "Note 1 AND Note 2"
以下是sql:
select top 2 rcai.field_value
from rnt_agrs ra
inner join rnt_agr_inv_notes rain on ra.rnt_agr_nbr=rain.rea_rnt_agr_nbr
inner join RNT_CUST_ADDNL_INFO rcai on rain.rea_rnt_agr_nbr=rcai.rea_rnt_agr_nbr and rain.bac_acc_id=rcai.bac_acct_id
where ra.rnt_agr_nbr=128260511
谢谢你的帮助。我感谢这个论坛对这些问题的帮助.....
获取下一行的值并过滤除第一行以外的所有内容:
select ..., rcai.field_value || ' AND '
min(rcai.field_value) -- next row's value (same as LEAD in Standard SQL)
over (partition by ra.rnt_agr_nbr
order by rcai.field_value
rows between 1 following and 1 following) as next_field_value
from rnt_agrs ra
inner join rnt_agr_inv_notes rain on ra.rnt_agr_nbr=rain.rea_rnt_agr_nbr
inner join RNT_CUST_ADDNL_INFO rcai on rain.rea_rnt_agr_nbr=rcai.rea_rnt_agr_nbr and rain.bac_acc_id=rcai.bac_acct_id
where ra.rnt_agr_nbr=128260511
qualify
row_number() -- only the first row
over (partition by ra.rnt_agr_nbr
order by rcai.field_value) = 1
如果可能只有一行,则需要添加aCOALESCE(min...,'')
来消除NULL。
这两个OLAP函数都指定相同的PARTITION和ORDER,因此这是单个工作步骤。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句