Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将SQL查询的值分配给MySQL表列_Mysql_Sql_Phpmyadmin - Fatal编程技术网

如何将SQL查询的值分配给MySQL表列

如何将SQL查询的值分配给MySQL表列,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我有两个MySQL表,g734和g8internal。我运行了下面给出的SQL SELECT查询,我想将查询结果放入表g8internal中的数学字段和总分字段。g734和g8internal中的字段是统一的。他们是学生ID、名、姓、数学和总分。请看下面我的SQL代码。我的一个例子是在phpMyAdmin中给出SQL语法错误。我想将查询结果存储在g8internal中的Total_Score和Mathematics中 SELECT StudentID, FirstName, LastName,

我有两个MySQL表,g734g8internal。我运行了下面给出的SQL SELECT查询,我想将查询结果放入表g8internal中的数学字段和总分字段。g734g8internal中的字段是统一的。他们是学生ID、名、姓、数学和总分。请看下面我的SQL代码。我的一个例子是在phpMyAdmin中给出SQL语法错误。我想将查询结果存储在g8internal中的Total_Score和Mathematics中

SELECT StudentID, FirstName, LastName, SUM(Total_Score) AS T_Score, SUM(Maths) AS Mth
FROM
(
SELECT StudentID, FirstName, LastName, Total_Score, Maths FROM g734
   UNION ALL
SELECT StudentID, FirstName, LastName, Total_Score, Maths FROM g8internal
) t on g8internal.FirstName = g734.FirstName AND g8internal.LastName = g734.LastName
GROUP BY StudentID, FirstName, LastName
SET g8internal.Total_Score = T_Score,
g8internal.Maths = Mth

尝试这样的查询,看看是否有效。而且我认为,如果学生Id用作密钥,您不需要加入FirstName和LastName

update 
g8internal g8int 
join 
(
    select
      t.StudentID, 
      t.FirstName, 
      t.LastName, 
      SUM(t.Total_Score) AS T_Score, 
      SUM(t.Maths) AS Mth 
    from  
      (

        SELECT 
          StudentID, 
          FirstName, 
          LastName, 
          Total_Score, 
          Maths 
        FROM 
          g734 

        UNION ALL 

        SELECT 
          StudentID, 
          FirstName, 
          LastName, 
          Total_Score, 
          Maths 
        FROM 
          g8internal
      ) t 
    group by
      t.StudentID, 
      t.FirstName, 
      t.LastName 
) t1 on g8int.StudentID = t1.StudentID 
          and g8int.FirstName = t1.FirstName 
          and g8int.LastName = t1.LastName 
set  
    g8int.Total_Score = t1.T_Score, 
    g8int.Maths = t1.Mth

    
参考:


谢谢

您是否正在尝试使用select更新记录?请看,在标准化的数据库中,名为“Math”的列与名为“firstname”和“lastname”的列一起存储似乎不太可能environment@praveen,是的,我正在尝试使用SELECT执行upate