gpt4 book ai didi

php - 连接表进行 COUNT 查询

转载 作者:行者123 更新时间:2023-11-29 13:18:04 25 4
gpt4 key购买 nike

我使用以下脚本来显示页面,其中 $URL 与页面 URL 匹配(例如 MySite/People/Carl_Sagan)...

$sql= "SELECT COUNT(URL) AS num FROM people WHERE URL = :url";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':url',$MyURL,PDO::PARAM_STR);
$stmt->execute();
$Total = $stmt->fetch();

switch($Total['num'])
{
case 1:
break;
case 2:
break;
default:
break;
}

在另一个站点上,我想将几​​个表连接在一起,形成一个迷你百科全书。我知道如何使用 UNION 命令,但它不适用于此查询。请注意,表 gz_life 中的目标字段名为 Taxon,而不是 URL。我以为我可以以某种方式给它起别名 - Taxon AS URL - 但这似乎也不起作用。

$sql= "SELECT COUNT(URL) AS num FROM pox_topics WHERE URL = :url
UNION ALL
SELECT COUNT(URL) AS num FROM people WHERE URL = :url
UNION ALL
SELECT COUNT(Taxon) AS num FROM gz_life WHERE Taxon = :url";

谁能告诉我在 PDO 查询中将表连接在一起的最佳方法吗?

最佳答案

有几种方法可以做到这一点(如果我理解你想要实现的目标)。一种方法是使用您已有的内容,但执行最后一步来累加计数:

SELECT SUM(num) FROM (
SELECT COUNT(URL) AS num FROM pox_topics WHERE URL = :url
UNION ALL
SELECT COUNT(URL) AS num FROM people WHERE URL = :url
UNION ALL
SELECT COUNT(Taxon) AS num FROM gz_life WHERE Taxon = :url
) as subquery

请注意,您将需要子查询的别名才能使查询正确。

关于php - 连接表进行 COUNT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com