Datamart - Table type



我正在与datmart一起工作,没有任何工具。

SystudentID Campus   FirstNAme  LastName
   8          AICASA    Ali       Mehdi
   9          AICASA    Ashka      Patel
  10          AICASA    Jane       Iwuchukwu-Brooks
  11          AICASA    Helen      Oredeko

学生可以在下面的多个程序中注册。(不是修复)

AdEnrollID  SyStudentId Program Term
2671    9   AICASA  Fall - 2009 AICASA                 
2537    11  AICASA  Spring - 2009 AICASA               
2634    8   AICASA  Fall - 2010 AICASA                 
1853    10  AICASA  Fall - 2008 AICASA

现在,我将这两个表组合在一起,我想在我想要的所有细节的地方做一个表rep_student。但这不应该给我两行。(请参阅表结构)SQL中是否有任何表类型。 实现它的最佳方法是什么?

SystudentID Campus  FirstNAme   LastName AdEnrollID SyStudentId Program Term

谢谢

您可以使用SQL JON加入。在这里,我假设您只想显示表1中具有相关记录的记录,因此使用INNER JOIN。如果您想要其他结果,则可以根据需要尝试LEFT JOIN ,RIGHT JOIN OR FULL OUTER JOIN

SELECT S.SystudentID ,S.Campus,S.FirstNAme,S.LastName,C.AdEnrollID,C.SyStudentId,C.Program,C.Term 
FROM table1_name S
INNER JOIN table2_name C
ON S.SystudentID  = C.SystudentID;  

如果您想要一个全新的表,我建议分别创建一个新表,并在INSERT查询中使用它来插入您的两个表的现有值。

INSERT INTO new_table_name(SystudentID,Campus,FirstNAme,LastName,AdEnrollID,New_SyStudentId,Program,Term)
SELECT S.SystudentID ,S.Campus,S.FirstNAme,S.LastName,C.AdEnrollID,C.SyStudentId,C.Program,C.Term 
FROM table1_name S
INNER JOIN table2_name C
ON S.SystudentID  = C.SystudentID; 

您也可能需要考虑从新表和查询中删除其中一个SystudentID,因为它很可能是重复的值。在这里,我只是将其包含在内,因为您已经提到了它需要它在输出表中。

相关内容

最新更新