gpt4 book ai didi

android - SQLite 跨表跨列排序

转载 作者:行者123 更新时间:2023-11-30 02:33:54 49 4
gpt4 key购买 nike

我的 SQLite 数据库中有大约 8 个表,每个表都有一个名为 time 的字段,这是将数据插入表中的时间。

我想在此 time 列上执行 JOIN,以便数据在所有表中按 time 升序排序。如果在另一个表中有与该时间完全匹配的记录,则该记录应显示在同一行,否则为空。

最佳答案

有可能implement full outer joins with compound queries , 但对于八张表,这会变得相当复杂。

假设 time 值是唯一的,可以连接所有表,同时对来自其他表的列使用 NULL,然后使用 GROUP BY 为每个时间戳获取一个输出行,并使用 MAX() 之类的东西来挑选非 NULL 值:

SELECT time, MAX(Name1), MAX(Name2), MAX(Name3), ...
FROM (SELECT time, Name1, NULL AS Name2, NULL AS Name3, ... FROM Table1
UNION ALL
SELECT time, NULL, Name2, NULL, ... FROM Table2
UNION ALL
SELECT time, NULL, NULL, Name3, ... FROM Table3
...)
GROUP BY time
ORDER BY time

关于android - SQLite 跨表跨列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26878848/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com