duanmanmian7589 2012-04-13 16:07
浏览 261
已采纳

MySQL - 如何在使用OR时知道哪个字段与结果匹配

I'm creating an engine to find results in several fields using MySQL, something like:

SELECT table1.*, table2.* FROM table1
JOIN table2
ON table1.id = table2.tid
WHERE 
(table1.field1 LIKE 'keyword%' OR table1.field2 LIKE 'keyword%')
AND
(table2.field1 LIKE 'keyword%' OR table2.field2 LIKE 'keyword%')
ORDER BY table1.id ASC;

But now I need to know which field matches the keyword... How can I do that?

BTW, I'm using PHP.

  • 写回答

4条回答 默认 最新

  • duanjiaren8188 2012-04-13 16:11
    关注

    unverified:

    SELECT table1.*, 
           table2.*, 
           case (table2.field1 LIKE 'keyword%' and table1.field1 LIKE 'keyword%')
               when 1 
               then 'f1' 
               else 'f2' 
           end as field
    FROM table1
    ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 对于这个复杂问题的解释说明
  • ¥50 三种调度算法报错 采用的你的方案
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败