空表上选择输出中的 SQLite 虚拟值

问题描述 投票:0回答:2

我有一个包含此示例表的 SQLite 数据库:

CREATE TABLE PROVA 
(
    c1 TEXT NOT NULL UNIQUE,
    c2 TEXT NOT NULL,
    c3 TEXT NOT NULL
);

此表在某些时候(例如在初始化期间)将为空,我需要一个可以返回这样的输出的查询,而无需指定列名称(每列的虚拟值)。

c1        c2        c3
--------  --------  --------
dummy     dummy     dummy
sqlite
2个回答
0
投票

我们可以在

RANK
的帮助下使用联合技巧:

WITH cte AS (
    SELECT c1, c2, c3, 1 AS pos FROM PROVA
    UNION ALL
    SELECT 'dummy', 'dummy', 'dummy', 2
),
cte2 AS (
    SELECT c1, c2, c3, RANK() OVER (ORDER BY pos) rn
    FROM cte
)

SELECT c1, c2, c3
FROM cte2
WHERE rn = 1;

0
投票

如果您正在初始化某些内容(即数据的很小),您可以通过连接到“:内存:”数据库来在脚本中准备模式并解决所有列挑战,然后编写完全完善的文件输出到磁盘。

© www.soinside.com 2019 - 2024. All rights reserved.