我不知道如何正确构建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不起作用时,结果是错误的。
谢谢你的建议
答案 0 :(得分:0)
首先你应该使用explict join来获得更好的可读性 并且您可以使用左连接,其中id为null而不在subs
中std::lock
或者您可以使用不在
中std::scoped_lock