php+mysql 筛选一个表里的每个字段是否含有某个数字 100

比如我的一个表里有7个字段其中ABCDEF6个字段中有含有数字怎样才可以一次筛选例如:把含有283212的所有记录都显示出来?不论是在A中还是B中或者c中....只要含有... 比如 我的一个表里 有 7个字段 其中 ABCDEF6个字段中有含有数字 怎样才可以 一次筛选 例如:把 含有 28 32 12 的所有记录都显示出来? 不论是在A中还是B中 或者c中....只要含有的 都选出来。 其实 每个字段里的数字 可能是1位数 也可能是2位数 没有3位数的。请高手帮忙!
直接用 where 语句 会有 大量的 or 和and 并且会出错 ,
我说的含有 是 一条记录里同时含有 诸如 28 32 26 这样的记录。
解决后一定追加,谢谢!
展开
 我来答
qq2802820324
2012-08-26 · 超过13用户采纳过TA的回答
知道答主
回答量:41
采纳率:100%
帮助的人:34.2万
展开全部
首先看你的这六个字段从A到F存的值是不是依次变大的,如果是的话,可以这样试一下:
select * from (select id,concat(A,B,C,D,E,F) as b from table ) as x were x.b like '%12%28%36%';

如果不是递增的话,就比较麻烦,有一堆的or或and。
更多追问追答
追问
不一定是按大小排的   可以不可以模糊搜索呢? 就是不要定义ABCDEF字段 直接指针在ID 搜索 ABCDEF所有字段里的内容  只要一个记录里有那几个关键的数字 就把所有记录行打印出来呢?另外你这个语句执行后出现:#1064 -You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table ) as x were x.b like '%12%28%32%' LIMIT 0, 30' at line 1
追答
语法报错的问题,需要把table改成你的表名。
如果不是连续的,最好不要在数据库里面实现,如果是临时做一次统计,可以将数据查询出来,在文本中进行统计
数据库也不适合做这种复杂的查询,这些查询都是全表遍历,用不到索引,如果数据量超过10w行,会非常的慢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ayylmm
2012-08-26
知道答主
回答量:2
采纳率:0%
帮助的人:3159
展开全部
查询多列SQL Server 2005在 Microsoft SQL Server 2005 中,通过指定要搜索的列的列表,可以使用 CONTAINS 谓词来查询多个列。这些列必须来自同一个表。 以下查询在 Production.Product 表的 Name 和 Color 字段中搜索 Red 一词。Use AdventureWorks;
GO
SELECT Name, Color FROM Production.Product
WHERE CONTAINS((Name, Color), 'Red');

select * from tablewhere CONTAINS((a,b,c,d,f),'26' or '32' or '28') 前提,字段是文本
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式