小编Dav*_*ann的帖子

将行合并为一个结果,并在SQL中将结果添加为不同的值

我有一个表(人),包括以下信息:

  id  cert_id  type    name 
  1     123    owner   Paul
  2     123    seller  George
  3     123    buyer   steve
  4     456    owner   micheal
Run Code Online (Sandbox Code Playgroud)

我还有一个表(项目),包括以下内容:

id  cert_id  item_name     
1     123    staples
2     123    cheese
3     123    iguanas
4     456    pie
Run Code Online (Sandbox Code Playgroud)

基本上,我想要做的是得到如下结果:

cert_id  owner_name  seller_name  buyer_name  item_name 
  123    Paul        George       steve       staples, cheese, iquanas
  456    micheal                              pie
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经能够使用MAX(CASE WHEN people.type='owner' THEN people.name END) AS owner_name,但我无法将卖家名称附加到另一行('我不确定这是否可以通过SQL语句或者我是否应该对结果进行一些格式化.任何建议合并行会有所帮助,或者简单的"不可能"会让我知道这些限制是什么.

提前致谢!

sql postgresql

4
推荐指数
1
解决办法
1984
查看次数

在Groovy中映射到String/String to Map转换

我有一个json对象,它被传递给一个保存函数

{
  "markings": {
      "headMarkings": "Brindle",
      "leftForeMarkings": "",
      "rightForeMarkings": "sock",
      "leftHindMarkings": "sock",
      "rightHindMarkings": "",
      "otherMarkings": ""
}
Run Code Online (Sandbox Code Playgroud)

**编辑**

系统解析它并将其作为映射传递给我的函数.我实际上并没有JSON,虽然自己构建JSON并不困难,但它看起来有点过分

*结束编辑**

toString()函数最终将结果放入数据库中

"[rightForeMarkings:, otherMarkings:, leftForeMarkings:sock, leftHindMarkings:sock, rightHindMarkings:, headMarkings:brindle]"
Run Code Online (Sandbox Code Playgroud)

然后我想通过调用将其保存为字符串(相当简单)

params.markings.toString()
Run Code Online (Sandbox Code Playgroud)

从这里,我保存信息并返回更新的信息.

我的问题是,因为我将对象作为字符串存储在数据库中,所以我似乎无法将标记作为映射返回(然后转换为JSON).

我尝试了一些不同的东西但无济于事,尽管我完全有可能在这些方面做错了...

Eval.me(Item.markings)
evaluate(Item.markings)
Item.markings.toList()
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助!

grails groovy json

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

grails ×1

groovy ×1

json ×1

postgresql ×1

sql ×1