【发布时间】:2016-07-12 02:13:21
【问题描述】:
我正在尝试阅读有关某个用户的一些信息,但是,我执行了 3 个查询来计算“FOLLOWERS”和“LINKS”,我知道这可以通过一个查询来完成,使用内部联接等。我不知道怎么做,有人可以帮帮我吗?
我是巴西人,抱歉英语不好。
$Read = new Read();
$Read->FullRead("SELECT AUTHORS_NAME, AUTHORS_LASTNAME, AUTHORS_PHOTO, AUTHORS_FRIENDLY_URL, AUTHORS_ID FROM AUTHORS");
if ($Read->getResult()):
foreach ($Read->getResult() as $AUTHORS):
extract($AUTHORS);
$COUNT = 0;
$READ_FOLLOWER = new Read();
$READ_FOLLOWER->FullRead("SELECT AUTHORS_ID FROM FOLLOWERS WHERE AUTHORS_ID = {$AUTHORS_ID}");
if ($READ_FOLLOWER->getResult()):
foreach ($READ_FOLLOWER->getResult() as $READ_FOLLOWER_ITEM):
$COUNT++;
endforeach;
endif;
$LINK_COUNT = 0;
$READ_LINKS = new Read();
$READ_LINKS->FullRead("SELECT LINK_AUTHORS FROM LINKS WHERE LINK_AUTHORS = {$AUTHORS_ID}");
if ($READ_LINKS->getResult()):
foreach ($READ_LINKS->getResult() as $READ_LINKS_ITEM):
$LINK_COUNT++;
endforeach;
endif;
//ECHO ON ALL VARIABLES
endforeach;
endif;
【问题讨论】:
-
您使用的是 MySQL 还是 Oracle?请删除不正确的标签。
-
您可能会对本网站的葡萄牙语版本pt.stackoverflow.com 感兴趣。此外,您应该修复标签——Oracle 和 MySQL 是非常不同的数据库。
-
如果您只想获取匹配行的计数,请使用
SELECT COUNT(*)而不是读取每一行的循环。