条款我不知道这是否可能得到该行:如何知道它是否通过其中的SQL/PHP
SELECT * FROM stuff WHERE barcode = '123123' OR product like '%123123%'
比方说这将返回10行。由于条形码中有123123,所以10行中有两行得到返回。
现在有可能以某种方式使别名/变量知道它来的原因是它匹配条形码。
所以我可以做:
if($MatchWasFromBarcode) {.... }
或者将我必须做2个查询此?
条款我不知道这是否可能得到该行:如何知道它是否通过其中的SQL/PHP
SELECT * FROM stuff WHERE barcode = '123123' OR product like '%123123%'
比方说这将返回10行。由于条形码中有123123,所以10行中有两行得到返回。
现在有可能以某种方式使别名/变量知道它来的原因是它匹配条形码。
所以我可以做:
if($MatchWasFromBarcode) {.... }
或者将我必须做2个查询此?
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 *
。糟糕的做法。列出你需要的列。
假设你正在使用MySQL:
SELECT
barcode = '123123' AS MatchWasFromBarcode,
col1, col2, ..., coln
FROM stuff
WHERE barcode = '123123' OR product like '%123123%'
对于其他数据库的第二行改成这样:
CASE WHEN barcode = '123123' THEN 1 ELSE 0 END AS MatchWasFromBarcode,
您使用的是哪个数据库? –
mysql .......... – Karem