首页 / PHP / 多表查询的sql语句
多表查询的sql语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了多表查询的sql语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1158字,纯文字阅读大概需要2分钟。
内容图文
求一个多表查询的sql语句A表10个字段
字段分别为aid, title, cid, content, atime, aorder, acount,a1, a2, mtime
B表9个字段
字段分别为bid, title, cid, content, btime, border, b3, b4, mtime
现在我获取到一个关键词$kw,我需要同时搜索A表和B表的title字段,获取到所有like %$kw%的所有记录,并根据mtime来排序。
获取的记录里,需要保留的字段有a(b)id,title,cid,content,mtime这几个。
- SQL code
$sql = 'SELECT '; $sql .= 'A.aid as id,B.bid AS id,'; $sql .= 'A.title as title,B.title as title,'; $sql .= 'A.cid as cid,B.cid as cid,'; $sql .= 'A.content as content,B.content as content,'; $sql .= 'A.mtime as mtime,B.mtime as mtime'; $sql .= 'FROM A,B WHERE title like "%'.$kw.'%" ORDER BY mtime DESC';
我这样构造sql,可行吗?
如果不可行,那么怎么写这个sql语句呢?
------解决方案--------------------
去看一下 union
两个 select 然后中间用一下 union , 要求 select 后面的字段都一样的
select a.id, a.xxx from a where a.title like '%$km%'
union
select b.id, b.xxx from b where b.title like '%$km%'
------解决方案--------------------
select aid, title, cid, content,mtime from a where title like '%km%'
order by mtime desc
union all
select bid,title,cid,content,mtime from b where title like '%km%'
order by mtime desc
内容总结
以上是互联网集市为您收集整理的多表查询的sql语句全部内容,希望文章能够帮你解决多表查询的sql语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。