从多个表中搜索数据

Sco*_*t M 0 sql search

我有2个包含我要搜索的信息的表,一个主表和一个注释表.主表包含时间戳,主题等.而注释表包含主表中各个记录的注释.它基本上是一个简单的票务系统

我需要能够在同一个查询中搜索主表和注释表中的内容.这是我现在的查询:

SELECT DISTINCT d.* FROM ticket_data d, ticket_comment c WHERE
      (
       d.subject LIKE '%test%' OR
       d.message LIKE '%test%' OR
       c.comment LIKE '%test%'
      )
   AND c.tid = d.id
Run Code Online (Sandbox Code Playgroud)

这对于具有注释(c.tid)的票证非常有用,但如果没有可用的注释,则不会返回任何结果.我知道这是由于查询的c.tid = d.id部分,但我不知道如何将注释与main连接而不执行此操作.

Cor*_*old 6

尝试在两个表上使用左外连接.

SELECT DISTINCT d.* FROM ticket_data d 
LEFT OUTER JOIN ticket_comment c on c.tid = d.id WHERE
  (
   d.subject LIKE '%test%' OR
   d.message LIKE '%test%' OR
   c.comment LIKE '%test%'
  )
Run Code Online (Sandbox Code Playgroud)