使用like在多列上选择一个值

时间:2014-01-22 16:26:20

标签: php mysql sql sql-like

我有一个包含4列的名称表

id     fname      mname     lname
1      rain       santos    reyes
2      rocky      blunt     simon
3      greg       hammer    go

然后我想从列fname,mname和lname中选择一个特定的名称 使用这个选择我做了

Select * from account like 'rid%' IN(fname, mname, lname)

但它出错了。我不确定代码。

如何在fname mname和lname列中选择特定的like值?

3 个答案:

答案 0 :(得分:0)

您需要单独检查每个列,然后在每个列之间使用OR以允许变量位于以下三列中的任何一列:

SELECT * FROM account 
    WHERE fname LIKE 'rid%' 
    OR mname LIKE 'rid%'
    OR lname LIKE 'rid%'

答案 1 :(得分:0)

对于LIKE条款,您必须使用OR并将每个条件分开,如下所示:

SELECT *
FROM account
WHERE (fname LIKE 'rid%'
       OR mname LIKE 'rid%'
       OR lname LIKE 'rid%')

答案 2 :(得分:-2)

您错过了一些关键字并且语法不正确。试试这个:

SELECT * FROM `account` WHERE "rid%" IN ( `fname` , `mname` , `lname` )

问候。

相关问题