2013-06-19 49 views
0

我需要從多個表中提取信息,但我不希望存檔等於零的條目。當我從一張桌子上做到這一點時,我可以做到這一點,但是當我從多個桌子上嘗試時,它不起作用。請幫忙!如何從多個表格中選擇涉及何處的統計信息。

if ($_SESSION['user_type']== 1){ 
$sql="SELECT * FROM orlando,indy WHERE archive='0'"; 
$result=mysql_query($sql); 
} 
else 
die('You do not have access'); 
+1

你能後的表結構?他們需要回答這個問題。 –

+0

表結構有30個不同的領域,所以它有點多..但兩者是完全一樣的。 –

+1

夠好。在這種情況下,@compid的回答應該很好。因爲有五個表使用'select * from orlando where archive <>'0'union all select * from indy where archive <> 0 union all select * from boston where archive <> 0 union all ...'你明白了:) MrVimes的答案在這裏並不好(儘管它適用於其他情況),因爲它會將所有表中的所有行匹配到彼此。換句話說,如果每個表格有100行,結果將會有多達10^5(100億)行。 –

回答

1

你可以看到,如果UNION ALL適合你正在試圖做...

SELECT * FROM orlando WHERE archive='0' UNION ALL SELECT * FROM indy WHERE archive='0' 
+0

這工作,但當我試圖做更多的2表,有一個錯誤。我想我應該提到有5張桌子,但我試圖簡化它。 –

+0

瞭解它使用這個工作!謝謝! –

+0

沒問題!是的,當你必須重複WHERE條款 – compid

0
select * from orlando,indy where orlando.archive <> '0' and indy.archive <> '0' 
+0

時,它會變得笨拙並且沒有錯誤,但它沒有顯示數據。 –

相關問題