相关疑难解决方法(0)

PostgreSQL:如何连接行

所以,我有一个非常规的问题。我希望能够将具有相同 ID 的行连接成一大行。为了说明我的问题,让我举一个例子。这是查询:

SELECT b.id AS "ID",
       m.content AS "Conversation"
FROM bookings b 
INNER JOIN conversations c on b.id = c.conversable_id AND c.conversable_type = 'Booking'
INNER JOIN messages m on m.conversation_id = c.id
WHERE b.state IS NOT NULL
GROUP BY 1,2
LIMIT 1000;
Run Code Online (Sandbox Code Playgroud)

这是输出:

ID     **Conversation
1223    "blah, blah, blah, blah"
1223    " ... blaaaah, blah.."
1223    "more blaaah"
1223    "last blah"
5000    "new id, with more blah"
5000    "and the blah continues"
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以将对话行连接成一个聚合行,同时保留 ID?

像这样:

ID     Conversation
1223    "blah, …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

6
推荐指数
1
解决办法
5382
查看次数

STRING_AGG WITHIN GROUP和Visual Studio的问题

我正在使用Visual Studio 2015,并且SQL Server数据库项目中的STRING_AGG WITHIN GROUP出现问题。

SELECT [Continent], 
STRING_AGG([Country], ', ') WITHIN GROUP (ORDER BY [Country]) AS CountryList
FROM [Country]
GROUP BY [Continent]
Run Code Online (Sandbox Code Playgroud)

此代码给出错误SQL46010:AS附近的语法不正确。没有

WITHIN GROUP (ORDER BY [Country])
Run Code Online (Sandbox Code Playgroud)

没有问题。

目标平台设置为

Microsoft Azure SQL Database V12
Run Code Online (Sandbox Code Playgroud)

调试目标连接设置为本地SQL Server vNext数据库。

在SQL Server Management Studio中,这段代码可以毫无问题地执行。在SSMS内或从代码中运行存储过程可得到预期的正确结果(每个大洲1行,每个大洲的国家/地区列表按国家/地区分隔的逗号分隔)。

同时,我安装了Visual Studio 2017,希望这样做可以消除错误,但没有运气。

已安装SQL Server数据工具17(内部版本14.0.61704.140)。

sql-server visual-studio-2015 azure-sql-database

5
推荐指数
1
解决办法
1170
查看次数