如果我对两个不同的列有两个LIKE
子句,并且最终两个列中的一个包含针,我如何知道哪个列匹配。
答案 0 :(得分:1)
SELECT 1 AS `match`, * FROM `table` WHERE col1 LIKE 'needle%'
UNION
SELECT 2 AS `match`, * FROM `table` WHERE col2 LIKE 'needle%'
并使用match
了解
注意:这可能是用IF()
答案 1 :(得分:1)
SELECT
IF(col1 LIKE 'needle%' AND col2 LIKE 'needle%', 0, IF(col1 LIKE 'needle%', 1, 2)
AS match,
*
FROM
table
WHERE
col1 LIKE 'needle%'
OR
col2 LIKE 'needle%'
match
告诉您哪些列命中:
col1
col2
答案 2 :(得分:0)
您可以使用PHP部分检查哪一个匹配。
if (stristr($result['col1'], $queryvar) === true) // col1 matched