sql多表多条件嵌套查询,敢于挑战的来

现在有两个表,一个会员表(phome_enewsmember),一个产品表(phome_ecms_memberpro)。现在要求:1,查询会员表,要求会员组字段>1(大于... 现在有两个表,一个会员表(phome_enewsmember),一个产品表(phome_ecms_memberpro)。现在要求:
1,查询会员表,要求会员组字段>1(大于1为VIP会员),checked=1(等于1为审核会员);
2,查询会员在产品表里发布的数据大于4条(包括4条);

注意:我主要查询的是产品表,只显示每个会员发布的前4个产品,注意每个会员只显示4条。
我需要把这些条件合并为一个sql语句,请高手来帮忙一下。谢谢。

以下是我用的循环嵌套来查询的,但有两个bug

一,当该会员为VIP会员,并且没有发布产品,或者发存的产品不大于4条,那么我的分页就出问题了,预设为第页显示16条(4个会员

*4个产品),但当其中一个会员产品没有4个时间,该页就不能显示到16条了。
二,“$pagerow=$empire->num("select * from phome_ecms_memberpro where checked=1");”这个是查询总产品的条数,但是有些产

品可能不是会员发的,也有可能不是VIP会员发的,也有可能是该员发布好产品后被删除了,那么得到的总产品数就不对了。

有点挑战吧。希望敢于挑战的HI我

//我的代码

<?php
$page=$_GET['page'];
if(!$page){
$page=0;
}
$evepage=4;//每页显示多少条
$statpage=$page*$evepage;

$sql="select * from phome_enewsmember where groupid>4 and checked=1 order by userid desc limit

$statpage,$evepage";
// echo $sql;
$result=$empire->query($sql);
while($rs=$empire->fetch($result)){
$userid=$rs['userid'];
$sqlp="select * from phome_ecms_memberpro where userid=$userid and checked=1 order by newstime,id desc

limit 4";
$resultp=$empire->query($sqlp);
while($rsp=$empire->fetch($resultp)){
$id=$rsp['id'];
$userid=$rsp['userid'];
$title=$rsp['title'];
$titlepic=$rsp['titlepic'];
?>
<li><span><a href="[!--news.url--]e/space/product_show.php?id=<?=$id?>&userid=<?=$userid?>&mid=11"

target="_blank"><img src="<?=$titlepic?>"></a></span><br>
<a href="[!--news.url--]e/space/product_show.php?id=<?=$id?>&userid=<?=$userid?>&mid=11" target="_blank"><?

=$title?></a></li>
<?php
}
}
?>
</ul>
<?php
$pagerow=$empire->num("select * from phome_ecms_memberpro where checked=1");
?>
展开
 我来答
lanniao007
2011-09-09 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:458万
展开全部
看你的说的信息中没有关于会员表和产品表的关联条件信息。
而且查询会员发布的情报的这个会员的条件是checked>=1吗?
发布人可能是会员。可能不是?有啥字段能确定到底是不是吗?
你最好给出表的关键字段列出来。
追问
关联条件就是每个表都有发布者的ID啊,产品表有个ismember=1就是会员发布的否则不是。
追答
你的信息还是有点缺损,我设定了一下。你可以参照着写SQL:
Select A.RowNumber,A.商品编号,A.商品名,A.发布者的会员ID,A.发布者的会员名 From
(
SELECT
ROW_NUMBER() OVER (PARTITION BY AA.发布者的ID ORDER BY AA.发布者的ID) AS RowNumber,AA.发布者的会员ID,AA.发布者的会员名,BB.商品编号,BB.商品名
FROM phome_enewsmember AA,phome_ecms_memberpro BB
Where AA.发布者的ID = BB.发布者的ID AND BB.checked = 1
) A
Where A.RowNumber < 5
Order By A.RowNumber
匿名用户
2011-09-07
展开全部
不敢,不敢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
H_Y_H
2011-09-09 · TA获得超过154个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:198万
展开全部
把表的定义和关系给出来啊。。。。
解释下判断的条件字段和关联字段啊,你这样怎么答啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-10
展开全部
XEXI
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式