我有一个这样的表:
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/