是否可以通过SQLite中的联接来组合这两个查询?

时间:2018-08-20 13:25:41

标签: sql sqlite

是否可以在来自不同表的这两个查询之间的SQLite中创建一个JOIN ...

SELECT EventId as event, 
SUM(CASE WHEN name = 'computer' THEN 1 ELSE 0 END) as computer,
SUM(CASE WHEN name = 'desk' THEN 1 ELSE 0 END) as desk,
SUM(CASE WHEN name = 'chair' THEN 1 ELSE 0 END) as chair 
FROM TagsMSCV 
WHERE name IN ('computer','desk','chair') 
GROUP BY EventId

...还有类似的东西...

SELECT COUNT(MicrosoftId) as total FROM Images WHERE Images.EventId = TagsMSCV.EventId 

...以便最上面的查询从产生...

event   computer   desk   chair   
####    ########   ####   #####
etc...

event   computer   desk   chair   total
####    ########   ####   #####   #####
etc...

编辑:我写的第二个查询是试图创建联接的伪代码。普通查询的实际查询如下所示:

SELECT Count(MicrosoftId) FROM Images WHERE EventId IN ("10003", "10004", etc.) GROUP BY EventId

1 个答案:

答案 0 :(得分:2)

我会先进行汇总,然后再进行public CheckBox check;

left join

首先进行汇总,可以避免重复计算。