99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2019-02-14 閱讀量: 790
SQL查詢問題

問題描述:

店鋪表shop

shopid shopname

1 水果店

2 衣服店

3 糧食店

活動表activity

aid shopid actname

1 1 送蘋果活動

2 1 送橘子活動

3 2 送襯衫活動

4 2 送鞋子活動

商戶表user

商戶id 店鋪id 商戶等級

uid shopid level

87 1 高級商戶

88 2 中級商戶

89 3 低級用戶

需要找到有活動的店鋪,然后顯示信息,最終結(jié)果

水果店 高級用戶 有送蘋果和送橘子活動

衣服店 中級用戶 有送襯衫和送鞋子活動

1.shop表inner join activity表 group by shopid 找到有活動的店鋪

shoplist = select shopid inner join activity on a.shopid=s.shopid;

2.然后遍歷shoplist

$res = array();
for($shoplist as $val){
$info = select * from user left join activity on u.shopid=a.shopid where shopid=$val['shopid'] //
$info = array(
array(level=>'高級用戶',actname='送蘋果活動'),
array(level=>'高級用戶',actname='送橘子活動'),
);
處理$info
最后店鋪信息為 $res[] = array('高級用戶,送蘋果活動,送橘子活動');
}

能不能直接用一條sql解決這個問題呢?

解決方法:

select shopname,level,group_concat(actname) from(select shop.shopname,user.level,activity.actname from shop inner join user on shop.shopid = user.shopid inner join activity on shop.shopid = activity.shopid) group by shopname,level;

0.0000
3
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子