Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 解决计数查询问题_Php_Sql - Fatal编程技术网

Php 解决计数查询问题

Php 解决计数查询问题,php,sql,Php,Sql,我有以下代码,我需要从personabisna表中选择所有项目,并从两个表共享personalbisnaId的另一个表中计算具有相同personalbisnaId的项目 $query="select c.BusinessLogo, c.PersonalBisnaId, c.account_id, AS Ads from personalbisna As c INNER

我有以下代码,我需要从personabisna表中选择所有项目,并从两个表共享personalbisnaId的另一个表中计算具有相同personalbisnaId的项目

 $query="select c.BusinessLogo,
                    c.PersonalBisnaId, 
                    c.account_id,
                      AS Ads from personalbisna As c INNER JOIN myads AS b on b.PersonalBisnaId=c.PersonalBisnaId GROUP BY c.PersonalBisnaId LIMIT $itemfrom,$dataperpage";
这些是桌子

个性化比斯纳表

| PersonalBisnaId| account_id| BusinessLogo
---------------------------------------------
|       1         |   23     |  qwertyu.jpg
|       2         |    4     |  asdfghjk.jpg
|       3         |   12     |  34567gfd.jpg
|       4         |   34     |   drtyujhv.jpg
myads表

|   MyAdsId       | PersonalBisnaId| AdType
---------------------------------------------
|       1         |     2           |  logo
|       2         |     2           |  business card
|       3         |     3           |  logo
|       4         |     2           |   caricalture
我用一些已经回答过的问题来解决我的问题,我真的很困惑,无法解决我的问题

上面的查询应该输出以下内容

| PersonalBisnaId| account_id| BusinessLogo      | AdsCount
-------------------------------------------------------
|       1         |   23     |  qwertyu.jpg      |  0
|       2         |    4     |  asdfghjk.jpg     |  3
|       3         |   12     |  34567gfd.jpg     |  1  
|       4         |   34     |   drtyujhv.jpg    |  0
这就是我所拥有的

$query="SELECT  
                c.BusinessLogo,
                c.PersonalBisnaId, 
                c.account_id,
                c.BusinessName,
                c.BusinessCategory,
                c.BusinessSubCategory,
                c.town,
                c.estate,
                c.street,
                c.road,
                c.building,
                c.Address,
                c.city,
                c.PhoneNumber,
                c.AltPhoneNumber,
                c.website,
                c.Email,
                c.BusinessType              
                COUNT(MyAdsId)  AS AdsCount
                FROM   personalbisna AS c 
                LEFT OUTER JOIN myads AS b 
                ON  b.PersonalBisnaId= c.PersonalBisnaId 
                GROUP BY  c.PersonalBisnaId LIMIT $itemfrom,$dataperpage";

Count
查询中缺少聚合

另外,如果要从
Personabisna
表中选择所有项目,则需要
左/右外部联接,而不是
内部联接

SELECT          c.personalbisnaid, 
                c.account_id,
                c.BusinessLogo,
                Count(AdType)      AS AdsCount 
FROM            personalbisna AS c 
LEFT OUTER JOIN myads         AS b 
ON              b.personalbisnaid=c.personalbisnaid 
GROUP BY        c.personalbisnaid, 
                c.account_id,
                c.BusinessLogo

谢谢,但我需要从我的广告中数一数table@xtech-您是否可以在问题中添加预期输出?输出应显示。1.personalBisnaId=3个广告,2.personalBisnaId=2个广告,3.personalBisnaId=8Ads@xtech-你能补充一下吗?我已经补充了预期产出。你可以说明你的期望产出是什么。通常包括什么是RDBMS是很好的。