我有一個網站,我有一個數據庫的所有帳戶和whatnot,另一個用於存儲用戶在網站上完成的操作。mysql - 合併列和表
每個用戶都有自己的表格,但是我想合併每個用戶組(所有「被鏈接在一起」的用戶)的數據,並在操作發生時對數據進行排序。
這是我的;
<?php
$query = "SELECT `TALKING_TO` FROM `nnn_instant_messaging` WHERE `AUTHOR` = '" . DISPLAY_NAME . "' AND `TALKING_TO` != ''";
$query = mysql_query($query, $CON) or die("_error_ " . mysql_error());
if(mysql_num_rows($query) != 0) {
$table_str = "";
$select_ref_clause = "(";
$select_time_stamp_clause = "(";
while($row = mysql_fetch_array($query)) {
$table_str .= "`actvbiz_networks`.`" . $row['TALKING_TO'] . "`, ";
$select_ref_clause .= "`actvbiz_networks`.`" . $row['TALKING_TO'] . ".REF`, ";
$select_time_stamp_clause .= "`actvbiz_networks`.`" . $row['TALKING_TO'] . ".TIME_STAMP`, ";
}
$table_str = $table_str . "`actvbiz_networks`.`" . DISPLAY_NAME . "`";
$select_ref_clause = substr($select_ref_clause, 0, -2) . ") AS `REF`, ";
$select_time_stamp_clause = substr($select_time_stamp_clause, 0, -2) . ") AS `TIME_STAMP`";
}else{
$table_str = "`actvbiz_networks`.`" . DISPLAY_NAME . "`";
$select_ref_clause = "`REF`, ";
$select_time_stamp_clause = "`TIME_STAMP`";
}
$where_clause = $select_ref_clause . $select_time_stamp_clause;
$query = "SELECT " . $where_clause . " FROM " . $table_str . " ORDER BY TIME_STAMP";
die($query);
$query = mysql_query($query, $CON) or die("_error_ " . mysql_error());
if(mysql_num_rows($query) != 0) {
}else{
?>
<p>Currently no actions have taken place in your network.</p>
<?php
}
?>
上面的代碼返回的SQL語句:
SELECT (`actvbiz_networks`.`john_doe.REF`, `actvbiz_networks`.`Emmalene_Jackson.REF`) AS `REF`, (`actvbiz_networks`.`john_doe.TIME_STAMP`, `actvbiz_networks`.`Emmalene_Jackson.TIME_STAMP`) AS `TIME_STAMP` FROM `actvbiz_networks`.`john_doe`, `actvbiz_networks`.`Emmalene_Jackson`, `actvbiz_networks`.`act_web_designs` ORDER BY TIME_STAMP
我真的對我的腳學習與SQL。
它不是PHP我有一個問題(我可以非常高興地用PHP代碼);這只是對SQL語句的幫助。
任何幫助非常感謝。
我認爲你是在正確的路線,但輸出是不是我期待的。想象2個表格,完全相同的結構只是不同的表格名稱和數據。如果你知道我的意思,我想暫時將所有數據放入一張表中。 – 2010-06-16 06:41:45