Sqlite:使用两个不同的;其中;
如何为同一个表组合两个select查询,它们在Sqlite中有两个不同的where 我有一张超过10k行的桌子。两个示例行如下所示:Sqlite:使用两个不同的;其中;,sqlite,Sqlite,如何为同一个表组合两个select查询,它们在Sqlite中有两个不同的where 我有一张超过10k行的桌子。两个示例行如下所示: year | project | finance | flow 1990 | water | 300500 | grant 1999 | energy | 200500 | loan 我的尝试无效: SELECT sum(finance), (select sum(finance) from table where flow = grant) FRO
year | project | finance | flow
1990 | water | 300500 | grant
1999 | energy | 200500 | loan
我的尝试无效:
SELECT sum(finance), (select sum(finance) from table where flow = grant)
FROM table where flow = loan group by year
结果应按年度分组,并在赠款栏和贷款栏中列出总额(预算)
year | grant | loan
1990 | 62662 | 383983
1991 | 28928 | 278272
更新:第一个示例与我的用例不正确对应。我必须改变它 在这种情况下,用例:
SELECT year,
SUM(CASE WHEN flow = 'grant' THEN finance ELSE 0 END) AS grant_total,
SUM(CASE WHEN flow = 'loan' THEN finance ELSE 0 END) AS loan_total
FROM your_table
GROUP BY year
逻辑与您概述的不同(它是一个带有单个WHERE子句的单一SELECT),但它将有效地将您需要的数据从行转到列。谢谢,这看起来不错,但我得到了以下错误:“Near”)“语法错误”。我已经尝试了各种版本。发现了问题。每个案件都需要结束。我把它写进你的答案里了。现在它起作用了。谢谢!!抱歉,已脱机几天,未收到您的评论。事实上,我没有把结尾放在这个案例上,而是修改了答案以显示正确的语法。