php - 如何从一个表中选择两个不同的列并获取一些 id 两次?

标签 php mysql

我有一个这样的表:

        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) ..

但是此查询将仅在 insurance1 中搜索

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

所以,我必须同时搜索保险1保险2,如果医生在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) ..

关于php - 如何从一个表中选择两个不同的列并获取一些 id 两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971563/

相关文章:

mysql - 如果计数结果相等,则考虑其他字段

php - 创建没有多个 SQL 查询的 JSON 对象 (PHP)

mysql - 我想在 mySQL 中运行我的脚本,但在我运行它时它一直显示这个!错误 1215 (HY000) 在第 18 行 : Cannot add foreign key constraint

php - foreach 循环中的 Array_combine 还是什么?

php - 将 Enum '1' , '0' 转换为输出文本 PHP

php - 如何在PHP CodeIgniter中实现最后的错误处理?

php - 正则表达式:捕获成对的花括号

java - hibernate 不关闭连接

PHP:为什么 strtotime() 返回 "NOW()"?

php - 第 1 行的 MySQL 语法错误和反引号提供奇怪的解决方案