2011-06-23 35 views
0

我把我的數據庫分解成4個表。每一個都是相同的結構。php收集mysql導致多表同列

$sql = "SELECT * FROM `dba` WHERE domain>= (SELECT FLOOR(MAX(domain) * RAND()) FROM `dba`) ORDER BY domain LIMIT 1"; 
    $result = mysql_query($sql); 
    while($list = mysql_fetch_array($result)){ 
    $domain = $list["domain"]; 
    echo $domain; 
    } 

現在來自sql_query的結果只返回一行。 如何我從4個表中顯示它。 感謝

回答

1

使用UNION

SELECT * FROM `dba` WHERE domain>= (SELECT FLOOR(MAX(domain) * RAND()) FROM `dba`) ORDER BY domain LIMIT 1 
UNION 
SELECT * FROM `dbb` WHERE domain>= (SELECT FLOOR(MAX(domain) * RAND()) FROM `dbb`) ORDER BY domain LIMIT 1 
UNION 
SELECT * FROM `dbc` WHERE domain>= (SELECT FLOOR(MAX(domain) * RAND()) FROM `dbc`) ORDER BY domain LIMIT 1 
UNION 
SELECT * FROM `dbd` WHERE domain>= (SELECT FLOOR(MAX(domain) * RAND()) FROM `dbd`) ORDER BY domain LIMIT 1 
+0

是,工會解決我的問題。謝謝:) –