gpt4 book ai didi

sql - 使用 SQL 连接显示正确的结果

转载 作者:行者123 更新时间:2023-12-02 23:14:51 25 4
gpt4 key购买 nike

首先,我是 SQL (T-SQL) 的新手,我希望得到这方面的指导。我有 3 个表,其创建的值如下。

CREATE Table StudentProject
(ID int identity (1,1) PRIMARY KEY,
ProjectName Varchar (30),
DueDate Date)


CREATE Table StudentName
(ID int identity (1,1) PRIMARY KEY,
StudentName Varchar (30))

CREATE Table StudentWork
(ID int identity (1,1) PRIMARY KEY,
ProjectID int,
StudentID int)

Insert Into StudentProject values
('Omega','1/2/2005'),('KingOmega','1/3/2000'),('Beast','1/6/2007'),
('DeltaMovie','3/7/2008')

Insert into StudentName values
('Roger'),('John'),('James'),('Juliet'),('William')

Insert into StudentWork values
(1,1),(1,2),(2,2),(2,3),(3,3),(3,4),(1,3)

目标是产生以下结果,但似乎我不能或者我确定我做错了什么。

SQL_Outcom

SQL_Outcome

请帮忙。

最佳答案

SELECT StudentProject.ProjectName, StudentName.StudentName
FROM StudentWork
INNER JOIN StudentProject ON StudentProject.ID = StudentWork.ProjectID
INNER JOIN StudentName ON StudentName.ID = StudentWork.StudentID

您有3个表,尝试识别“主表”,然后将它们连接到其他表,连接后您将可以访问它们的列。

Hello World :)

更新:

为了确认 Roger 始终具有 id 1 以及 StudentName 表中的所有其他学生,您需要使用 SET IDENTITY_INSERT 来保证行的顺序。

而不是:

Insert into StudentName values
('Roger'),('John'),('James'),('Juliet'),('William')

这样做:

SET IDENTITY_INSERT StudentName ON

Insert into StudentName values
(1,'Roger'),(2,'John'),(3,'James'),(4,'Juliet'),(5,'William')

SET IDENTITY_INSERT StudentName OFF

关于sql - 使用 SQL 连接显示正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com