5

我一直在寻找,但找不到任何东西。是否有一种符合 SQL 标准的方式来产生像这个TSQL 这样的输出?我想要一个在 sqlite、mysql、postgresql 或 sql server 上也能正常工作的查询。这样的事情可能吗?

4

1 回答 1

2

据我了解您的问题,您正在寻找一种跨数据库方法将列中的值聚合到逗号分隔的列表中。据我所知,没有标准的聚合可以做到这一点(在 PostgreSQL 上,在添加一些新聚合之前,我正在为此编写自己的聚合)。

您可以做的最好的事情是选择列表并在您的应用程序中处理它,但是当您必须编写跨数据库可移植的代码时就会发生这种情况。

您将遇到的第二个问题是,虽然可以向其中一些数据库添加扩展来管理此问题,但不可能对所有这些数据库进行扩展。

所以不,不可能。您的选择是:坚持使用一两个支持自定义聚合和填充的数据库,在一个数据库上构建基于 SP 的界面,或者只选择列表并在您的应用程序中处理它。

于 2012-09-01T01:20:13.500 回答