多个选择查询在SQL中无法正确执行。
我有3个表,Registration,form1(Table_1)和form2(Table_2)。
TABLE_1
Data1 Email Data2 Data3
t1 mazhar@gmail.com t2 t3
TABLE_2
Data1 Email Data2 Data3
f1 mazhar@gmail.com f2 f3
f3 Raj@gmail.com f2 f1
Table_Reg
Name Email Location
mazhar mazhar@gmail.com Hyderabad
Rahul Rahul@gmail.com Pune
Raj Raj@gmail.com Lal
Table_1和Table_2是表格,Table_Reg是基本注册。
我希望显示值计数表单未启动且表单已开始。
如果用户将任何表单数据提交到Table_1或Table_2,则启动 如果用户未将任何表单数据提交到Table_1或Table_2,则启动。我正在使用sql server 2008。
我需要输出如下:
formStarted formnotstarted
2 1
我写了如下的查询,但没有给出正确的结果:
select * from Table_Reg where and
(Email not in(select Email from Table_1 )
or
(Email not in(select Email from Table_2)))
答案 0 :(得分:0)
您想要计算在其他表中找到多少个table_reg用户。这可以通过查看每个记录来完成,然后计算:
unclean.leader.election.enable=true
但是table_1和table_2中可能没有table_reg中不存在的电子邮件。然后你可以通过计算不同的电子邮件来做同样的事情:
select
count(case when status = 'exists' then 1 end) as started,
count(case when status <> 'exists' then 1 end) as not_started
from
(
select
case
when email in (select email from table_1) then 'exists'
when email in (select email from table_2) then 'exists'
else 'does not exist'
end as status
from table_reg
) looked_up;