2014-11-03 103 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