SQL派生列

时间:2016-05-01 17:52:35

标签: mysql sql

我目前TableOne有一列:ID。我想添加派生的第二列NumSemesters,该列应该是第二个表TableOne_IDTableTwo的出现次数。

基本上,NumSemesters应为TableOne.ID = TableTwo.Student_ID的次数。

如何更改第一个表以添加第二列?

在表1中,ID是主键。

2 个答案:

答案 0 :(得分:1)

这样的事情(假设您已经创建了NumSemesters列):

update TableOneset NumSemesters = b.idCount
from TableOne a left join 
(select Student_ID, count(Student_ID) as 'idCount' from TableTwo groupby Student_ID ) b on a.ID = b.Student_ID

答案 1 :(得分:0)

我认为你正在寻找类似的东西。

SELECT TableOne.ID, TableTwo.NumSemesters FROM TableOne INNER JOIN (SELECT ID, COUNT(*) AS NumSemesters FROM TableOne GROUP BY ID) as TableTwo ON TableOne.ID = TableTwo.ID

吉姆