我正在和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谢谢
发布于 2017-09-25 11:33:11
为此,可以使用。在这里,我假设您只想显示表1在表2中有相关记录的记录,因此使用INNER JOIN.If,您需要一个不同的结果,您可以根据需要尝试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,因为它很可能是一个重复的value.Here,我只是将它包括在内,因为您已经在输出表中提到需要它。
https://stackoverflow.com/questions/46402617
复制相似问题