我正在尝试在没有匹配列的表上运行两个MySQL查询。只有当一列的一部分与另一个数据库中的列匹配时,才需要匹配这两个查询的结果并显示信息。以下是我到目前为止的情况:
select data2, time_id from db.table1
where data2 in
(select right(dst,10) from db2.table2
where calldate like '2012-09-01%' and lastdata like <blocked for privacy>)
having (time_id between '1346475600' and '1346562000');
根据我的理解,应该首先调用第3-4行的子查询,对吗?我对这个陈述的问题是它总是超时。这只需要太长时间。我格式化错了吗?我确信另一种方法是使用join
语句,在这方面的任何帮助都会很棒。
答案 0 :(得分:0)
你没有错误地格式化它,它只是一个非常糟糕的查询,需要服务器做一些荒谬的计算。让我们采取一些措施来做正确的事,真的只是一件大事,一件是未成年人。
call date BETWEEN <datetime 1> AND <datetime 2>
。