php - 亲高手看看一个多表查询的问题
ringa_lee
ringa_lee 2017-04-10 17:44:36
[PHP讨论组]

数据表activity 中有字段 ac_id ac_title openid 等字段
数据表 apply 中有ap_id ac_id(既activity表中的ac_id) openid 等字段

现在需要先查出apply中有 符合用户的openid的字段 然后 再查询出 apply表中ac_id等于activity表中ac_id的数据集

query("select * from activity,apply where apply.ac_id=activity.ac_id order by ap_id desc");

这样的语句只能查询出 apply表中ac_id等于activity表中ac_id的数据集 但是不知道怎么查出 apply中openid等于用户openid的数据 所以 业务开发的时候不能区分开始那个用户的 跪求大神提出解决方案 小弟是新手

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
阿神

只要在 sql 中加上 openid 的条件不就行了,就是如下加上 and openid='xxx'

select * from activity,apply where apply.ac_id=activity.ac_id and apply.openid='xxx' order by ap_id desc
迷茫

假设目前要搜索的用户的openid = 2,你的意思是:

1.从数据表activity中搜出openid == 2的数据,作为数据集1.

2.对于数据集1中的数据,在数据表apply中查出apply.ac_id == 数据集1.ac_id 的数据?

阿神

左连接怎么样亲
select * from activity as ac left join apply as ap on ac.ac_id = ap.ac_id where openid = "xxxxx"

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号