0

我有两个表:文章和贸易。他们left joinarticles.tradeid = trade.id. 并非每篇文章都有交易。所以有articles.tradeid0 的值。

当我开始搜索时:

SELECT * FROM articles 
LEFT JOIN trade ON articles.tradeid=trade.id 
WHERE CONCAT(articles.number,'|',trade.name) LIKE '%12345%'

虽然有一篇文章编号为 12345,但我没有得到任何结果,但它的 atradeid为 0。由于加入,trade.name 的值为NULL。任何人的解决方案?

4

1 回答 1

0

您可以替换CONCATCONCAT_WS

SELECT * 
FROM articles 
LEFT JOIN trade ON articles.tradeid=trade.id 
WHERE CONCAT_WS('|', articles.number, trade.name) 
LIKE '%12345%'

演示

Concatenate With Separator 是CONCAT. 小心,因为它有不同的语法

于 2020-02-13T15:54:44.397 回答