代码之家  ›  专栏  ›  技术社区  ›  Bhumi Shah

MySQL两列查询检查记录

  •  0
  • Bhumi Shah  · 技术社区  · 5 年前

    我有一张桌子,比如说,事件和字段

    id,事件id,目的地事件id

    我想在两列中检查我传递的数组ID

    因此,我通过两个独立的查询完成了这项工作。

    SELECT * FROM events WHERE event_id IN ('123' , '345');
    

    如果不是,

    SELECT * FROM events WHERE dest_event_id IN ('123' , '345');
    

    我如何使用单个查询来实现它?我可以在集合中使用find_吗?

    笔记 :要在事件id中不存在记录时签入dest_event_id吗

    谢谢你的帮助

    1 回复  |  直到 5 年前
        1
  •  1
  •   Pablo Martinez    5 年前

    你只需要把这两个条件放在一起:

    SELECT * FROM events WHERE event_id IN ('123' , '345') or dest_event_id IN ('123' , '345')
    
        2
  •  0
  •   Nimesh Sangada    5 年前

    请尝试以下查询

    SELECT * FROM events WHERE 123 IN (event_id, dest_event_id) OR
                         345 IN (event_id, dest_event_id);