创建级联结果表
Creating concatenated results tables
我有table个赞:
我有 table B 喜欢:
我想要一个结果 table 连接列并在必要时合并行,例如:
我尝试使用 Union,但它并没有完全满足我的需求。有没有其他有效的方法可以达到这个效果。
您已粘贴图片。因此,我们很难复制文本和创建脚本。您应该在提问时分享脚本。
UNION 有什么问题,请分享。我认为下面的查询应该有效。但也请与工会分享您的问题。
SELECT Fruit Fruit_Veggie, Count count_Fruit, percent percent_Fruit, 0 Count_Veggie, 0 pecent_Veggie FROM A
UNION
SELECT veggie, 0, 0, count, percent from B
您需要进行完全连接或不同的联合。您知道这一点是因为您有一行用于 Tomato,其中包含来自两个表的值。这将为您提供空值,您将使用合并将其变成 0(零)。这是作业吗?
如果 SQLite 支持 FULL
连接,这将很容易解决,但它不支持。
首先使用 UNION ALL
创建一个结果集,其中包含 2 个表的所有行以及包含水果和蔬菜的附加列,然后进行聚合,因此在 'tomato'
这样的情况下,您将只有 1 行:
SELECT Fruit_Veggie,
SUM(Count_Fruit) Count_Fruit,
SUM(percent_fruit) percent_fruit,
SUM(Count_Veggie) Count_Veggie,
SUM(percent_Veggie ) percent_Veggie
FROM (
SELECT Fruit Fruit_Veggie, count Count_Fruit, percent percent_fruit, 0 Count_Veggie, 0 percent_Veggie
FROM TableA
UNION ALL
SELECT Veggies, 0, 0, count, percent
FROM TableB
)
GROUP BY Fruit_Veggie
我有table个赞:
我有 table B 喜欢:
我想要一个结果 table 连接列并在必要时合并行,例如:
我尝试使用 Union,但它并没有完全满足我的需求。有没有其他有效的方法可以达到这个效果。
您已粘贴图片。因此,我们很难复制文本和创建脚本。您应该在提问时分享脚本。
UNION 有什么问题,请分享。我认为下面的查询应该有效。但也请与工会分享您的问题。
SELECT Fruit Fruit_Veggie, Count count_Fruit, percent percent_Fruit, 0 Count_Veggie, 0 pecent_Veggie FROM A
UNION
SELECT veggie, 0, 0, count, percent from B
您需要进行完全连接或不同的联合。您知道这一点是因为您有一行用于 Tomato,其中包含来自两个表的值。这将为您提供空值,您将使用合并将其变成 0(零)。这是作业吗?
如果 SQLite 支持 FULL
连接,这将很容易解决,但它不支持。
首先使用 UNION ALL
创建一个结果集,其中包含 2 个表的所有行以及包含水果和蔬菜的附加列,然后进行聚合,因此在 'tomato'
这样的情况下,您将只有 1 行:
SELECT Fruit_Veggie,
SUM(Count_Fruit) Count_Fruit,
SUM(percent_fruit) percent_fruit,
SUM(Count_Veggie) Count_Veggie,
SUM(percent_Veggie ) percent_Veggie
FROM (
SELECT Fruit Fruit_Veggie, count Count_Fruit, percent percent_fruit, 0 Count_Veggie, 0 percent_Veggie
FROM TableA
UNION ALL
SELECT Veggies, 0, 0, count, percent
FROM TableB
)
GROUP BY Fruit_Veggie