【发布时间】:2022-01-23 10:20:19
【问题描述】:
我有一个 SQLite 数据库包含几个表,其中一些(不是全部)有一个名为“附件”的特定列。我想知道是否有一个查询可以从所有具有该列的表中获取“附件”列的值。我可以从数据库中获取所有表的名称,然后单独查询所有表。但我认为必须有一个查询才能做到这一点。
【问题讨论】:
-
UNION statement 但你的问题很不清楚。所有值是指每个表中所有记录中的所有附件字段,该列没有任何 WHERE 条件?
-
我理解您的要求,但我认为 SQLite 做不到;与其他数据库不同,没有像
SELECT table_name FROM information_schema.columns WHERE column_name = 'attachment'这样的标准方法。也许最简单的方法是只查询所有表名,然后启动select attachment from ...用您查询的内容替换 3 个点,然后为每个表运行它。捕捉并忽略出现的任何“没有这样的列:附件”错误。使用带有不断变化的 SQL 的数据适配器,但重复填充相同的数据表以模拟联合 -
@Steve 是的,我指的是所有记录。正如我提到的,代码中的条件 WHERE 是只获取数据库中的所有表。但正如你所说,也许代码部分有点混乱,所以也许我会删除它。而且我不确定 UNION 是我正在寻找的东西。你能带一个示例查询吗?
标签: c# sqlite union group-concat union-all