
select id, name from tablename1 where id=1union select id, title as name from tablename2 where id=1unionselect id, name from tablename3 where id=1
要注意,各select搜索的字段名必须数量和名称都相同,不相同的用as改名相同的
如果这样的话建议在各表中加一个字段,来区分这条记录来自哪个表
HP的站内搜索可以使用SELECT和LIKE语句来对文章的标题进行过滤选择,将需要的数据筛选出来。 如果有多个筛选可以使用AND语句连接起来进行多条语句筛选。 如果希望是能搜索到全站所有的数据,一般在数据库设计之初最好就是把所有数据放一个表,然后通过扩展表的方式进行数据扩展!具体方法可以参考ONETHINK的设计模式。具体搜索方法: SELECT * FROM 表名 WHERE 字段 LIKE '%关键字%'
理论上,要针对所有的表各写一条SQL,SQL中要列出所有的字符类字段,例如:SELECT * FROM taba WHERE fielda LIKE '%abc%' OR fieldB LIKE '%abc%' ……
SELECT * FROM tabb WHERE fielda LIKE '%abc%' OR fieldB LIKE '%abc%' ……
写这样的SQL非常痛苦,看你是用的什么数据库,许多数据库系统有系统字典,就是在数据库里面的某些表中存放着所有的数据库、表、字段的名称和类型,那样可以通过那些信息编写出自动生成前面的SQL语句的SQL语句。
另外,一般的数据库都是存放在文件中或者磁盘上,可能利用全盘搜索软件搜索磁盘上特定的字符串,比上述SQL语句要快得多,只是搜索到了,要判断数据库行有一些麻烦。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)