我正尝试同时从多个表中选择一列的不同值。我想合并的两个查询是:
1.选择所有适当的表:
SELECT name
FROM sqlite_schema
WHERE type='table'
AND name NOT LIKE 'sqlite_%';
1.从一个表中选择非重复值:
SELECT DISTINCT CATEGORY FROM my_table;
我想对第一个查询结果中的每个表名运行最后一个查询。我非常肯定这是可能的,但还没有解决。
我的想象是这样的:
SELECT DISTINCT CATEGORY
FROM (
SELECT name
FROM sqlite_schema
WHERE type='table'
AND name NOT LIKE 'sqlite_%'
);
此组合查询引发错误。
1条答案
按热度按时间3htmauhk1#
使用SQLite所能做的最好的事情就是获取所需的sql语句作为字符串,然后使用您选择的编程语言执行它:
您将得到如下字符串:
我使用
UNION
而不是SELECT DISTINCT
。请参见demo。