[英]How to make an inner join have multiple joins for the same table
我是SQL新手,目前正在為uni做一個項目。
背景資料:
CREATE TABLE Folders (
Folder_ID INT PRIMARY KEY IDENTITY,
FolderName VARCHAR (60) NOT NULL,
DateCreated DATE NOT NULL,
DateUpdated DATE,
UserAccounts INT NOT NULL,
EmailID INT,
);
CREATE TABLE Emails (
MessageID INT PRIMARY KEY IDENTITY,
Reciever INT NOT NULL,
Sender INT NOT NULL,
Attachments VARCHAR (60),
Labels INT,
Folders INT,
Contents VARCHAR (1500) NOT NULL,
EmailDate DATETIME DEFAULT(GETDATE()), -- Looked at http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=15990 for the solution to get the date and time automatically (rather than just the date)
Message_Subject VARCHAR (60),
BCC VARCHAR (60),
CC VARCHAR (60),
Message_Priority VARCHAR (60),
EmailType INT NOT NULL,
UserAccountID INT NOT NULL,
CONSTRAINT fk_Email_Type FOREIGN KEY (EmailType) REFERENCES TypeOfEmail (EmailType_ID),
CONSTRAINT fk_UserAccount FOREIGN KEY (UserAccountID) REFERENCES UserAccount (UserAccount_ID),
CONSTRAINT fk_Label FOREIGN KEY (Labels) REFERENCES Labels (Label_ID),
CONSTRAINT fk_FoldersID FOREIGN KEY (Folders) REFERENCES Folders (Folder_ID),
);
CREATE TABLE TypeOfEmail (
EmailType_ID INT PRIMARY KEY IDENTITY,
Type VARCHAR (8) NOT NULL,
);
內部連接,用於連接Email表中的EmailType和TypeOfEmail表中的類型:
SELECT * FROM Emails INNER JOIN TypeOfEmail ON Emails.EmailType = TypeOfEmail.EmailType_ID
我要做的就是在同一內部連接語句中的Email表中的內部連接Folders與Folders表中的FolderName。
誰能告訴我我將使用什么聲明?
希望這很清楚:/
只需使用您提到的“ On
條件Join
“ Folders
表。
SELECT E.required_col,T.required_col,F.required_col -- likewise use appropriate alias and select the column
FROM Emails E
INNER JOIN TypeOfEmail T
ON E.EmailType = T.EmailType_ID
INNER JOIN Folders F
ON E.Folders = F.FolderName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.