2012-06-27 47 views
0

我有aitisi(id,name1,surname1,father1,birthdate1,name2,surname2,father2,birthdate2 ...到5,成本,開始,到期,計劃,地址,電話,city,zip),我想將surnameX,nameX,fatherX,birthdateX(X = 1到5)列複製到新的表成員(id,tid,name,surname,father,birthdate),其中tid是查找鍵到table1.id使用create table複製表間的數據使用select

我試着用MySQL,但並沒有得到它的權利,所以我終於做到了ID與PHP:

$query_aitisi = "SELECT * FROM aitisi order by id asc"; 
$aitisi = mysql_query($query_aitisi, $connection) or die(mysql_error()); 
$row_aitisi = mysql_fetch_assoc($aitisi); 
$totalRows_aitisi = mysql_num_rows($aitisi); 

do { 
    for($i=1; $i<=5; $i++){ 
    if ($row_aitisi['on_te'.$i]<>'') { 
    $query_copy = "insert into members (symbid, name, surname, father, birthdate) 
    values ('".$row_aitisi[id]."','".$row_aitisi['surname'.$i]."','".$row_aitisi['name'.$i]."','".$row_aitisi['father'.$i]."','".$row_aitisi['birthdate'.$i]."')"; 
$copy = mysql_query($query_copy, $connection) or die(mysql_error()); 
    } 
    } 
} while ($row_aitisi = mysql_fetch_assoc($aitisi)); 

但是,我真的很想知道正確使用的「創建表格作爲選擇「語句供將來使用。任何人?謝謝!

回答

0

下面的查詢應該只是罰款

create table members (symbid, surname, name, father, birthdate) 
    (select id, surname1, name1, father1, birthdate1 from aitisi where on_te1 != '' 
    union all 
    select id, surname2, name2, father2, birthdate2 from aitisi where on_te2 != '' 
    union all 
    select id, surname3, name3, father3, birthdate3 from aitisi where on_te3 != '' 
    union all 
    select id, surname4, name4, father4, birthdate4 from aitisi where on_te4 != '' 
    union all 
    select id, surname5, name5, father5, birthdate5 from aitisi where on_te5 != '') 
+0

簡單地將整個表到一個新的。我害怕的不是我正在尋找的東西。 – bikey77

+0

我得到你的問題完全錯誤:)我已經更新了我的答案。 –

+0

沒有太多時間來修改它完全符合我的需求,但第一次嘗試給了我一個錯誤。我會更仔細地研究它,並讓你更新。 – bikey77

相關問題