mysql查询,不是活跃的公司

时间:2018-04-26 14:52:32

标签: mysql

我不知道如何正确构建mysql查询。

我正在使用临时表以使查询工作,但我想看看是否有人可以使用一个查询,使用临时表。

这两个查询很简单。 1)

select distinct(AgencyChoiceTb.id) 
from AgencyChoiceTb , ClientDataTb , HistoryCreditTb
where ClientDataTb.Id = HistoryCreditTb.Client_Id 
    and ClientDataTb.Agency_choice_id = AgencyChoiceTb.id 
    and HistoryCreditTb.`Action` = 10 
    and HistoryCreditTb.Time between '2018-04-01' and '2018-04-26'

,第二个查询是:

select distinct(AgencyChoiceTb.id) 
 from AgencyChoiceTb , ClientDataTb , HistoryCreditTb
where   HistoryCreditTb.Client_Id = ClientDataTb.Id 
 and ClientDataTb.Agency_choice_id = AgencyChoiceTb.id 
 and HistoryCreditTb.Time between '2018-03-01' and '2018-03-30' 
  and HistoryCreditTb.`Action` = 10
group by AgencyChoiceTb.Agency_name

现在从第一个查询和第二个查询创建临时表。 我将两个创建的表与在第二个表中的AgencyChoiceTb.Agency_name NOT进行比较。

如何在不使用临时表的情况下进行一次查询? 我尝试了别名但是当我做NOT IN不起作用时,结果是错误的。

谢谢你的建议

1 个答案:

答案 0 :(得分:0)

首先你应该使用explict join来获得更好的可读性 并且您可以使用左连接,其中id为null而不在subs

std::lock

或者您可以使用不在

std::scoped_lock