从一个表中选择其他表中不存在的记录

时间:2020-01-24 10:29:36

标签: mysql

如何获取table1中不存在的table2记录(已过滤日期)

SELECT e.event_id, e.start_time, te.* 
FROM table1 te, table2_tmp e 
WHERE te.book_id = 45
 AND (DATE(STR_TO_DATE(e.start_time,"%Y%m%d%H%i%s")) BETWEEN DATE(DATE_SUB(NOW(),INTERVAL 1 YEAR)) AND CURRENT_DATE)

表1

ID      event_id  start_time      book_id
10000   1_1005    20191222135100  45  <-- date Filtered & Doesn't exists in t1
10001   1_1006    20200123139100  45
10002   1_1007    20200124145100  45
10003   1_1010    20200125135100  45
10004   1_1015    20200325135100  46

table2

ID      bk_event_id  
11111   1_1006   
11112   1_1007         
11113   1_1015
11113   1_1016

预期结果

ID      event_id  
10000   1_1016

2 个答案:

答案 0 :(得分:0)

您可以使用外部联接:请参见此示例

这将选择PLAYERS表中没有球员的所有球队。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="hero-container">
  <div class="btn-list">
    <ul class="hero-content">
      <li><a href="#" class="feat-btn box-one" id="web">
      <span>button 1</span>
      </a></li>
      <li><a href="#" class="feat-btn box-two" id="design">
      <span>button 2</span>
      </a></li>
      <li><a href="#" class="feat-btn box-three" id="film">
      <span>button 3</span>
      </a></li>
      <li><a href="#" class="feat-btn box-four" id="marketing">
      <span>button 4</span>
      </a></li>
    </ul>
  </div>
  <div class="btn-blurps">
    <div class="feat-blurp">
      <p id="web-blurp" class="hide-blurp">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris</p>
      <p id="design-blurp" class="hide-blurp">nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat       </p>
      <p id="film-blurp" class="hide-blurp">reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
      <p id="marketing-blurp" class="hide-blurp">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris</p>
    </div>
  </div>
</div>

example

答案 1 :(得分:0)

您可以使用NOT IN,可以将数据从一个表中排除到另一个表中。我认为您在2个表中定义的数据和预期结果不正确。

您可以尝试通过添加条件来查询此查询。

SELECT t2.* from table2 t2 
where bk_event_id NOT IN (SELECT t1.event_id from table1 t1)