数据集市 - Table 类型

Datamart - Table type

我正在与 DatMart 合作,没有任何 tool.I table 它列出了学生的详细信息。

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

现在我将这两个 table 组合在一起,我想制作一个 table REP_student,其中包含我想要的所有详细信息。但它不应该给我两排。 (请参阅 table 结构) SQL 中是否有任何 Table 类型。 实现它的最佳方法是什么?

SystudentID Campus  FirstNAme   LastName AdEnrollID SyStudentId Program Term

谢谢

您可以为此使用 SQL 连接。在这里,我假设您只想显示 table 1 在 table 2 中有相关记录的记录,因此使用 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;  

如果您想要一个全新的 table,我建议您单独创建一个新的 table,然后在 INSERT 查询中使用它来插入您的两个 table'现有值。

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; 

您可能还需要考虑从新的 table 和查询中删除其中一个 SyStudentId,因为它很可能是重复的 value.Here 我只是将其包括在内,因为您已经提到您需要它在输出中 table.