ホームページ  >  記事  >  バックエンド開発  >  亲高手看看一个多表查询的问题

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

WBOY
WBOYオリジナル
2016-06-06 20:08:03900ブラウズ

数据表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>

这样的语句只能查询出 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>

这样的语句只能查询出 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>

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。