[英]MySQL join / sum value from one table colum with a count values from another
[英]Copy one table to another with different colum count
由於我距離php專家還很遠,這讓我感到震驚,而且我似乎無法為此編寫腳本。
讓我們看看我是否可以盡可能清楚地解釋這一點。
可以說我有table1和table2
Table1 = (teamid, name, round1pos, round1score, round2pos, round2score)
Table2 = (id, tournamentid, teamid, name, round1pos, round1score, round2pos, round2score...till round10pos/round10score)
當從表1復制到表2時,我想在其前面添加2個字段。 (ID和錦標賽ID)
我面臨的問題是Table1每次都有不同數量的roundxpos / roundxscore。
基本上,我想做的就是在比賽結束后刪除表格。 但是將其中的數據復制到另一個表中以存檔結果。 但是每個錦標賽可以擁有不同的回合大小。
我希望有人能理解我正在努力實現的目標。
您應該創建第三個表,從現有表中刪除roundX列,並使用其ID對其進行引用。
rounds: team_id, tournament_id, no, pos, score
您應該對表進行規范化,但與此同時...。我假設主要問題是處理代碼中roundxpos和roundxscore列的變量數量。
希望這可以幫助:
通過遍歷字段名稱來創建table2插入
//example, assuming results are fetched into an associative array $query = "INSERT INTO table2 (tournamentid, teamid, name)"; foreach($roundpos_fields as $f){ $query .= "," . $f['Field']; } foreach($roundscore_fields as $f){ $query .= "," . $f['Field']; } $query .= "( SELECT $tournamentid, '' teamid, name"; foreach($roundpos_fields as $f){ $query .= "," . $f['Field']; } foreach($roundscore_fields as $f){ $query .= "," . $f['Field']; } $query .= ")";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.