关于sql:在SQLite中将列中的所有值都选择为字符串吗?

Select all values in a column into a string in SQLite?

在SQL Server中,我可以借助Cursor进行此操作(以遍历结果集中的每一行并构建我的字符串)。但是我不知道如何在SQLite中执行相同的操作,此任务不像所谓的"透视",据我所知,我们必须知道要转换为列的确切行。我的情况不同,我想将指定列的所有值都选择为字符串(然后可以选择为1行的列),此列可以具有各种值,具体取决于SELECT查询。这是外观的示例:

1
2
3
4
5
6
A    |    B    
------------
1    |    0
8    |    1
3    |    2
...     ....

我想将A列的所有值都选择成这样的字符串,例如" 183 ... "(或" 1,8,3,... "就可以了。)。

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

我对此没有任何想法,它似乎需要一些过程性语句(例如放置在过程中),但是SQLite在如何处理循环,变量声明等方面限制了很多。我真的被卡住了。在对数据库进行编程时,这种任务非常普遍,没有理由让我拒绝这样做。

请帮忙,我们将不胜感激!谢谢!


如果您只是想将A列中的所有值都放入一条记录中,请使用GROUP_CONCAT

1
2
SELECT group_concat(a, ',')
FROM yourtable

SQL小提琴演示


主要问题是您被认为像应用程序程序员。 SQL为您做了很多事情。

1
2
3
4
SELECT *
  FROM tableA
 WHERE A IN (SELECT A
                  FROM tableB)

无需诉诸游标,存储过程和多个查询。