【发布时间】:2021-05-02 10:13:36
【问题描述】:
我正在尝试从以特定名称开头的所有表中选择所有不同的值,例如:'logs_2020_12_01'、'logs_2021_01_02'、..选择具有此特定名称的所有表很简单:
SELECT name FROM sqlite_master WHERE type='table' AND name LIKE 'logs_%';
我想要为一个单独的表选择是:
SELECT DISTINCT batch FROM logs_2021_01_27;
但我找不到将其组合起来以从所有表中进行选择的方法。我尝试了几件事,但它不起作用,例如:
SELECT DISTINCT batch FROM (SELECT name FROM sqlite_master WHERE type='table' AND name LIKE 'logs_%')
有什么想法吗?
谢谢
【问题讨论】:
-
我对“所有表格”感到困惑。您的第一个示例仅从单个表中进行选择。您可能会在您的表之间进行 UNION。我不知道您希望如何从只选择名为“名称”的列的结果集中选择“批处理”。你的表结构是什么样的?
-
我有 2 个名为“logs_2020_12_01”和“logs_2021_01_02”的表;每个表都有一个列名批次。我想要做的是从所有表中选择所有不同的批次。我需要的结果/输出是每个表的不同批次数