在sql中使用UNIONS时使用整体WHERE子句

wig*_*les 6 mysql sql full-text-search against match

我试图使用UNIONS对几个表返回MATCH()AGAINST()结果,唯一的问题是一些行返回0的相关性,我想排除这些.在工会之后有一种方法可以使用'WHERE relevant> 0'

下面是我的一点SQL

SELECT pages.content AS search, page_info.url AS link, MATCH(pages.content) AGAINST('Wales') as relevance 
FROM page_content
LEFT JOIN pages ON (page_info.page = pages.id)

UNION

SELECT products_real.name AS search, products_real.event AS link, MATCH(products_real.name, products_real.description) AGAINST ('Wales') as relevance
FROM product_real

ORDER BY relevance DESC
Run Code Online (Sandbox Code Playgroud)

那么无论如何我可以在ORDER BY之前添加WHERE相关性> 0

非常感谢

Joh*_*ock 4

尝试使用派生表

SELECT * 
FROM
  (SELECT 
    pages.content AS search, 
    page_info.url AS link, 
    MATCH(pages.content) AGAINST('Wales') as relevance  
  FROM page_content 
  LEFT JOIN pages ON (page_info.page = pages.id) 
  UNION 
  SELECT 
    products_real.name AS search, 
    products_real.event AS link, 
    MATCH(products_real.name, products_real.description) AGAINST ('Wales') as relevance 
  FROM product_real) myQuery
Where myQuery.relevance <> 0
ORDER BY myQuery.relevance DESC
Run Code Online (Sandbox Code Playgroud)