【发布时间】:2018-11-13 13:20:22
【问题描述】:
考虑以下SQLite 语句,其中每个product_id 可能在每个表中至少出现一次。我们SELECT 语句的目的是将所有product_id 合并到一个表中。
SELECT product_id
FROM product_id_table_UK
UNION
SELECT product_id
FROM product_id_table_DE
UNION
SELECT product_id
FROM product_id_table_ES
UNION
SELECT product_id
FROM product_id_table_IT
UNION
SELECT product_id
FROM product_id_table_FR
如何在结果视图中添加ID INTEGER 列?
每个表都有自己的ID INTEGER 列,但如果我们使用SELECT ID 列,那么我们将在新视图中拥有重复的product_id 列和单独的ID。
添加ROWID 不起作用,因为它会返回表的IDs。
此外,视图中没有存储行。
【问题讨论】:
-
如果您使用的是 3.25,您可以在该联合的结果上使用
row_number()窗口函数,但这只是装饰性的。也许是一个临时表?你打算用这个 id 列做什么? -
修复您的数据结构,以便您将所有产品都放在一个表中,并带有客户标识符。
标签: sql sqlite select integer rowid