亲高手看看一个多表查询的问题

WBOY
Release: 2016-06-06 20:08:03
Original
941 people have browsed it

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

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

<code>query("select * from activity,apply where apply.ac_id=activity.ac_id order by ap_id desc");</code>
Copy after login
Copy after login

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

回复内容:

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

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

<code>query("select * from activity,apply where apply.ac_id=activity.ac_id order by ap_id desc");</code>
Copy after login
Copy after login

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

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

<code>select * from activity,apply where apply.ac_id=activity.ac_id and apply.openid='xxx' order by ap_id desc</code>
Copy after login

假设目前要搜索的用户的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"

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template