2014-11-03 127 views
1

我正在使用以下查询来显示URL的存储在两个不同表中的页面。 (其实,我很快就会有四五个连接表。)将数据附加到num查询

$sql = "SELECT SUM(num) as num FROM (
SELECT COUNT(URL) AS num FROM gw_geog WHERE URL = :MyURL 
UNION ALL 
SELECT COUNT(URL) AS num FROM gw_world_urls WHERE URL = :MyURL 
) AS X"; 
$stmt = $pdo->prepare($sql); 
$stmt->bindParam(':MyURL',$MyURL,PDO::PARAM_STR); 
$stmt->execute(); 
$Total = $stmt->fetch(); 

当然,这个查询只返回0,1,2,等我只是想知道是否有可能来提取这样的附加信息查询。

例如,是否可以对其进行修改,使得从表gw_geog派生的每个页面都具有值$ MyKind ='This',而从表gw_world_urls派生的每个页面的值都是$ MyKind ='That'?

或者假设表gw_world有一个名为Rank的字段,其中包含各种值,如1,2,3。是否可以说从该表导出的URL(例如arizona)的排名为2,其中行值是亚利桑那州| 2?

回答

1

林不知道我明白你想要什么。我想你想要统计在x表中有多少行,其中URL字段= something。然后你想知道这些表格中是否有特定的行(例如gw_world,其中url =亚利桑那州)具有特定的排名值。

你真的只需要一个查询就需要这个吗?因为你会得到许多重复的“总和”字段。

你可以使这个查询来计算结果,另一个可以得到所有行与他们各自的排名。

+0

最初,我有一个查询来计算行数,第二个表获取额外的信息,正如你所建议的。但是,当我的项目变得更加复杂时,我突然不得不创建一个中间表来获取我需要执行最后一个查询的一些数据。这不是一个大问题,但我只是想知道是否有办法从我的num查询中获得这个简单的信息。如果没有,那么我可以继续创建第三个表格。 – 2014-11-03 23:55:47