我不知道这是否可能:

SELECT * FROM stuff WHERE barcode = '123123' OR product like '%123123%'

假设这返回10行。10行中有2行因为条形码中有123123而被返回。
现在是否可以通过某种方式创建别名/变量来知道它的出现是因为它与条形码匹配。
所以我可以:
if($MatchWasFromBarcode) {.... }

或者我需要对此进行两次查询吗?

最佳答案

SELECT case when barcode='your_value' then 1 else 0 end as matches_bar_code
, col1
, col2
, col3
, col4
FROM stuff
WHERE barcode = '123123'
OR product like '%123123%'

不要做select *。坏习惯。列出所需的列。

08-27 03:42