姐未的荣耀全文书包网:请教一个SQL查询问题,望高手指点 谢谢!

来源:百度文库 编辑:高考问答 时间:2024/05/04 16:58:58
列1有4个数据:ABC、AB、BC、AC
列2有4个数据:BCD、BC、CD、BD
列3有4个数据:CDE、CD、DE、CE

即:列1 列2 列3
ABC BCD CDE
AB BC CD
BC CD DE
AC BD CE

如何使用select语句把含有C的数据检索出来,且不能重复(只出现一次)
需要所得结果为:ABC BC AC BCD BC CD CDE CE

SELECT Avalue FROM (SELECT 列1 AS Avalue FROM 表 UNION SELECT 列2 AS Avalue FROM 表 UNION SELECT 列3 AS Avalue FROM 表) t1 WHERE Avalue LIKE '%C%';

结果和你的一摸一样你试试
(注:我用的是Mysql数据库)

select * from 表 where 列1 like '%C%' or 列2 like '%C%' or 列3 like '%C%'

试试吧,

select * from 表 where 列1 like '%C%' or 列2 like '%C%' or 列3 like '%C%'
好象缺操作符 +

全文索引,然后freetext