以下是我的请求标记。
<Request method="GET" >
<Query>
select colA as "a", colB as "b", colC "c"
from tableX
</Query>
<Query>
select colP as "a", colQ as "b"
from tableY
</Query>
</Request>
输出
[
[{"a":40,"b":22,"c":63},{"a":28,"b":72,"c":91}],
[{"a":53,"b":12},{"a":35,"b":74},{"a":95,"b":84},{"a":15,"b":60}]
]
现在,应用程序开发人员正在请求将所有json数据放在一个数组中。这样他就可以映射到单个列表中的对象。
但是当在请求标记中使用两个单独的查询时,metamug在主数组中提供了2个不同的数组。
他们的documentation没有提到如何实现这一目标。我正在为数据库使用postgres。
感谢。
答案 0 :(得分:2)
您可以使用Union
加入两个结果,但是在第二个查询中,您必须再添加一个虚拟列,以便列数匹配并且他们的数据类型也是如此
(请仔细阅读this了解有关在使用UNION
之前需要采取哪些必要类型措施的详情。)
所以你可以这样写你的资源文件。
<Request method="GET" >
<Query>
(select colA as "a", colB as "b", colC "c"
from tableX)
UNION
(select colP as "a", colQ as "b", 'dummy' as "c"
from tableY)
</Query>
</Request>
请参阅我添加了一个额外的列c
,其中包含默认文字&#39; dummy&#39; ,我还假设第一个查询的c
列类型是text
,如果不是这样,那么进行适当的更改。