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

在SQLite中将列中的所有值选择为字符串?,sql,select,sqlite,system.data.sqlite,Sql,Select,Sqlite,System.data.sqlite,在SQLServer中,我可以借助游标在结果集中的每一行中循环并构建字符串。但是我不知道如何在SQLite中做同样的事情,这个任务不像所谓的数据透视,据我所知,我们必须知道要转换为列的确切行数。我的情况不同,我想将指定列的所有值选择为一个字符串,然后可以选择为1行的列,此列可以有各种值,具体取决于select查询。下面是它的外观示例: A | B ------------ 1 | 0 8 | 1 3 | 2 ... .... 我想

在SQLServer中,我可以借助游标在结果集中的每一行中循环并构建字符串。但是我不知道如何在SQLite中做同样的事情,这个任务不像所谓的数据透视,据我所知,我们必须知道要转换为列的确切行数。我的情况不同,我想将指定列的所有值选择为一个字符串,然后可以选择为1行的列,此列可以有各种值,具体取决于select查询。下面是它的外观示例:

A    |    B    
------------
1    |    0
8    |    1
3    |    2
...     ....
我想把A列的所有值都选择成这样的字符串183。。。或1,8,3,。。。好的

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

我对此没有任何想法,它似乎需要一些过程语句,比如放在过程中,但SQLite限制了我如何处理循环、变量声明……我真的被卡住了。这种任务在编写数据库时非常常见,我没有理由拒绝这样做


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

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


主要的问题是你的思维方式像一个应用程序程序员。SQL为您做了很多事情

SELECT * 
  FROM tableA
 WHERE A IN (SELECT A 
                  FROM tableB)

无需使用游标、存储过程和多个查询。

您想要的结果是什么?就1,8,3?这正是我想要的,非常感谢。我不认为它比SQL Server更简单有没有办法将group_concat与order by一起使用?我的意思是我想更改逗号分隔列表中值的顺序。谢谢大家!@KingKing-请看这篇文章-您需要使用子查询:-Best Regard我不太理解您的查询,a.id是什么?A是列而不是表。谢谢
SELECT * 
  FROM tableA
 WHERE A IN (SELECT A 
                  FROM tableB)