SQL server 查询
我有个表是顾客咨询表 里面有几个字段 姓名,咨询内容,咨询意向,备注...
我界面上有一个输入框,不管工作人员输入什么只要在这四个字段中有的就能查出来,有可能输入的东西在每个字段中都只占有一个字
请高手指教
[解决办法]
select * from 顾客咨询表 where 姓名 like '%输入%' or 咨询内容 like '%输入%' or 咨询意向 like '%输入%' or 备注 like '%输入%'
[解决办法]
- SQL code
select * from 顾客咨询表 where 姓名+咨询内容+咨询意向+备注 like '%输入%'
[解决办法]
楼上的可以
[解决办法]
2楼更简洁!顶!
[解决办法]
建议写个存储过程!
楼上的效率可能不太高!
[解决办法]
一楼的写法有可能会使用索引,二楼的是通过计算来查询,用不到索引,所以,一楼的效率高
[解决办法]
顶了看
[解决办法]
同一!
[解决办法]
字串的like 左加%,似like '%c' ,都用不到索引
[解决办法]
若是 姓名+咨询内容+咨询意向+备注=aa+bb+cc+dd 而 输入=aacc
也要使它能搜出来sql语句又当如何写
[解决办法]
二楼的不妥,若干姓名+咨询内容+咨询意向+备注=张三+维护+cc+dd 而 输入=三维,那不也会有结果这与需求不符
[解决办法]
1楼正解
2楼会出错
比如
select * from 顾客咨询表 where 姓名(...输)+(入...)咨询内容+咨询意向+备注 like '%输入%'
就会出错
[解决办法]
1楼的正确。2楼的错误。
实际上最好用自己定义函数来写(不用存储过程)
select * from table where f(输入)=...
[解决办法]
- C# code
string s = this.textbox.text.trim();for (int i = 0;i < s.length; i++){ string sql = " select * from 顾客咨询表 where 姓名 like '%" + s[i].ToString() + "%' or 咨询内容 like '%" + s[i].ToString() + "%' or 咨询意向 like '%" + s[i].ToString() + "%' or 备注 like '%" + s[i].ToString() + "%'";}
[解决办法]
只能用函数了,有点麻烦
[解决办法]
我感觉用like来个模糊查询就可以了吧