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