我正在尝试自己练习使用Microsoft SQL Server Management Studio 2014,我似乎无法理解如何在表被另一个表加入后命名和保存表。我试图在网上找到类似的例子,但它们要么没有用,要么就是我的代码出错了。
以下是我加入的表的代码:
CREATE TABLE students (id INTEGER PRIMARY KEY, first_name TEXT, last_name
TEXT, email TEXT, phone TEXT, birthdate TEXT);
INSERT INTO students (id, first_name, last_name, email, phone, birthdate)
VALUES (1, 'Peter', 'Rabbit', 'peter@rabbit.com', '555-6666', '2002-06-24');
INSERT INTO students (id, first_name, last_name, email, phone, birthdate)
VALUES (2, 'Alice', 'Wonderland', 'alice@wonderland.com', '555-4444', '2002-
07-04');
CREATE TABLE student_grades (id INTEGER PRIMARY KEY, student_id INTEGER,
test TEXT, grade INTEGER);
INSERT INTO student_grades (id, student_id, test, grade) VALUES (1, 1,
'Nutrition', 95);
INSERT INTO student_grades (id, student_id, test, grade) VALUES (2, 2,
'Nutrition', 92);
INSERT INTO student_grades (id, student_id, test, grade) VALUES (3, 1,
'Chemistry', 85);
INSERT INTO student_grades (id, student_id, test, grade) VALUES (4, 2,
'Chemistry', 95);
这是联接的表格代码:
SELECT *
FROM student_grades
JOIN students
ON student_grades.student_id = students.id
我已经成功地将这两个表连接在一起,但是我似乎在尝试命名并保存这个名为TableA的新连接表时遇到了麻烦。它是这样的:
SELECT * INTO TableA
FROM student_grades
JOIN students
ON student_grades.student_id = students.id
我从结果得到的全部是:
Column names in each table must be unique. Column name 'id' in table
'TableA' is specified more than once.
我不知道为什么会显示此错误。我的语法是否正确,我使用的名称不正确,或者我的语法是否完全不正确?感谢所有可能的回复。
答案 0 :(得分:0)
表中不能有2个具有相同名称的列;在你的情况下[id]。由于来自student_grades表的student_id与来自学生表的id相同,因此您可以忽略后者。请参阅下面的查询。
.append()
答案 1 :(得分:0)
因为这两个表的字段名称为" id"所以你必须使用别名和#34; id"字段如下:
SELECT students.id as studentId, first_name, last_name, email, phone, birthdate
,student_grades.id as gradeId, test, grade INTO TableA
FROM student_grades
JOIN students
ON student_grades.student_id = students.id