在SQLite中将列中的所有值选择为字符串?

Kin*_*ing 2 sql sqlite select system.data.sqlite

在SQL Server中,我可以在Cursor的帮助下完成此操作(循环遍历结果集中的每一行并构建我的字符串).但我不知道如何在SQLite中做同样的事情,这个任务不像所谓的Pivoting,据我所知,我们必须知道我们想要转向列的确切行.我的情况不同,我想将一个指定列的所有值都选择成一个字符串(然后可以选择为1行的列),这个列可以有各种值取决于SELECT查询.以下是它的外观示例:

A    |    B    
------------
1    |    0
8    |    1
3    |    2
...     ....
Run Code Online (Sandbox Code Playgroud)

我想将列A的所有值选择为一个字符串,如"183 ......"(或"1,8,3,..."就可以了).

这可以用作另一个SELECT中的列,我必须实现这个,因为我需要将所有子信息(在列A的每一行上)显示为另一行中以逗号分隔的列表.

我对此没有任何想法,它似乎需要一些程序性语句(例如放在一个程序中)但SQLite对如何处理循环,变量声明有很大的限制,......我真的被卡住了.编程数据库时这种任务很常见,我没有理由拒绝这样做.

请帮助,我们将非常感谢您的帮助!谢谢!

sge*_*des 11

如果您只是想将列A中的所有值都放到一个记录中,那么使用GROUP_CONCAT:

select group_concat(a, ',')
from yourtable
Run Code Online (Sandbox Code Playgroud)

SQL小提琴演示