查看: 927|回复: 3

数据表查询提问

升级   5.42%

36

主题

87

回帖

542

积分

注册会员

Rank: 2

积分
542
发表于 2024-9-4 09:57:50 | 显示全部楼层 |阅读模式
我的o2oa版本是8.0+,连接的postgresql数据库,现在我为一个包含stringList类型字段的数据表编写statement,使用的原生SQL,其中用到了json_agg函数,代码如下:
[SQL] 纯文本查看 复制代码
return 'SELECT o.xid as id, o.xcertificateName as certificateName, o1.xlabel as prizeParent, json_agg(o2.xfiles) as files FROM QRY_DYN_PRIZETABLE o LEFT JOIN QRY_DYN_PRIZETYPESTABLE o1 ON o.xprizeName = o1.xlabel LEFT JOIN QRY_DYN_PRIZETABLE_FILES o2 ON o.xid=o2.prizetable_xid ' + where + ' GROUP BY o.xid, o.xcertificateName, o1.xlabel order by  o.xupdateTime desc'


我得到的结果是这样的:
[JavaScript] 纯文本查看 复制代码
files: {
    "type": "json",
    "value": "[\"bfa320b6-4f78-4637-a601-f49cecc9ef34\"]"
}


但我希望是这样的:
[JavaScript] 纯文本查看 复制代码
files: ["bfa320b6-4f78-4637-a601-f49cecc9ef34"]


即我希望返回的不是type为json,value为json字符串的一个对象,而是直接返回一个数组,请问能做到吗?
回复

使用道具 举报

升级   100%

0

主题

662

回帖

2

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2
发表于 2024-9-6 10:26:53 | 显示全部楼层
在返回中做不到这样转换,但两个数据类型通过js转换下不是很方便的吗
回复

使用道具 举报

升级   5.42%

36

主题

87

回帖

542

积分

注册会员

Rank: 2

积分
542
发表于 2024-9-6 20:11:08 | 显示全部楼层
启蒙星 发表于 2024-9-6 10:26
在返回中做不到这样转换,但两个数据类型通过js转换下不是很方便的吗

是很方便,JSON.parse一下就行,但我懒,所以想看看万一有办法呢
回复

使用道具 举报

升级   5.42%

36

主题

87

回帖

542

积分

注册会员

Rank: 2

积分
542
发表于 2024-9-25 23:56:47 | 显示全部楼层
启蒙星 发表于 2024-9-6 10:26
在返回中做不到这样转换,但两个数据类型通过js转换下不是很方便的吗

我还有一个问题,当我写了好几个这样的联查之后,每一个数组的长度都会变成所有数组中最长的长度,例如我联查和stringlista和stringlistb,假设a中有3个值,b中为空,则b的value会显示为"[null, null, null]"。这是正确的吗?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread