如何从一个表中选择两个不同的列并获取一些id';s两次


how to SELECT two different column From one table and get some id's twice?

我有一个这样的表:

        id   firstname  lastname    cilinic1    cilinic2  ...   insurance1   insurance2
         1   rose       golabi      bla bla     bla bla          firaga        atena
        *2   ...         ...          ...        ...             filoli*       filoli*
         3   ...         ...          ...        ...              tomis         atena
         .
         .
         .

当用户试图搜索像(atena)这样的特定保险时,我会进行如下查询:

        SELECT * FROM doctors WHERE insurance1 LIKE ($userinput) ..

但此查询仅在保险1中搜索

问题是,有些医生有两个不同的诊所,每个诊所可能接受相同的保险(就像这张表中的第2行,我用*表示)。

因此,我必须同时在保险1和保险2中搜索,如果一名医生在两个诊所接受相同的保险,我想在搜索结果中显示该医生两次

我该怎么办?

(注意:我必须选择*,因为我的表中有12列,我必须在搜索结果中显示所有内容(名字、姓氏、年龄、性别、城市…)

有没有办法对mysql说这句话:

      if you selected from **insurance1** then (function...)
      if you selected from **insurance2** then (function...)

您可以使用UNION组合两个单独的查询:

SELECT * FROM doctors WHERE insurance1 LIKE ($userinput) ..
UNION ALL
SELECT * FROM doctors WHERE insurance2 LIKE ($userinput) ..