MySQL从多个表中选择并创建一个新表

时间:2014-06-19 08:28:48

标签: mysql node.js select

如何在MySQL中获得所需的输出:

Column name1
ID Right Wrong
1   3      4
2   5      2

Column name2
ID Right Wrong
1    3     2
2    1     1

Result:
Name   Total_Right  Total_Wrong
name1     8              6
name2     4              3 

我想使用select和join语句来获得所需的结果,但我不知道我该怎么做。

所以,到目前为止,我尝试用它来处理node.js:

app.get('/processAllStats',function(req,res)
{
    var name=[];
    var stats=[];
    var a='';
    connection.query('select username from user_login',function(err,user){
    if(err) 
        console.log('Error: '+err);
    else
    {
       for(var i=1;i<user.length;i++)
       {
          name.push(user[i].username);
          connection.query('select sum(no_right) as all_right,sum(no_wrong) as all_wrong from '+name[i-1],function(err,rank){   
stats.push(rank[0]);
          });
       }    
    }
});
});

请帮助!!

1 个答案:

答案 0 :(得分:0)

使用UNION

SELECT 'name1' AS Name, SUM(Right) AS Total_Right, SUM(Wrong) AS Total_Wrong
FROM name1
UNION
SELECT 'name2' AS Name, SUM(Right) AS Total_Right, SUM(Wrong) AS Total_Wrong
FROM name2