我有2張桌子。重要的是PlayerId和Username。
CREATE TABLE [dbo].[Run]
(
[RunId] INT NOT NULL,
[PlayerId] INT NOT NULL,
[Duration] TIME(7) NOT NULL,
[DateUploaded] NCHAR(10) NOT NULL,
[VersionId] INT NOT NULL,
PRIMARY KEY CLUSTERED ([RunId] ASC),
CONSTRAINT [FK_Run_Player]
FOREIGN KEY ([PlayerId]) REFERENCES [dbo].[Player] ([PlayerId]),
CONSTRAINT [FK_Run_Version]
FOREIGN KEY ([VersionId]) REFERENCES [dbo].[Version] ([VersionId])
);
CREATE TABLE [dbo].[Player]
(
[PlayerId] INT NOT NULL,
[Username] NCHAR(20) NOT NULL,
[ProfilePicture] IMAGE NULL,
[Country] NCHAR(20) NOT NULL,
[LeagueId] INT NULL,
[DateJoined] DATE NULL,
PRIMARY KEY CLUSTERED ([PlayerId] ASC),
CONSTRAINT [FK_Player_League]
FOREIGN KEY ([LeagueId]) REFERENCES [dbo].[League] ([LeagueId])
);
我有一個選擇命令:
SELECT
PlayerId, Duration, VersionId, DateUploaded
FROM
[Run]
(提前為我亂七八糟的偽代碼道歉),我需要它做的是:
SELECT (Player.PlayerId.Username)
我基本上需要它做的是,而不是給我PlayerId,我需要它來獲取Username與每個匹配的相應(從另一個表)PlayerId(PlayerId是外鍵)
所以說例如而不是回傳
1, 2, 3, 4, 5
它應該回傳
John12, Abby2003, amy_932, asha7494, luke_ww
例如,假設 Abby2003 的 PlayerId 為 2。
我已經進行了反復試驗,或者之前沒有人嘗試過,或者我正在搜索錯誤的關鍵字。這是使用 VS 2022、ASP.NET Web 表單和 Visual Basic,但這不會影響我認為的任何事情。任何語法想法或幫助將不勝感激。
uj5u.com熱心網友回復:
試試這個加入 2 表一起
SELECT R.RunId
,R.PlayerId
,R.Duration
,R.DateUploaded
,R.VersionId
,P.Username
,P.ProfilePicture
,P.Country
,P.LeagueId
,P.DateJoined
FROM Run R
inner join Player P on R.PlayerId = P.PlayerId
uj5u.com熱心網友回復:
通常在這種情況下使用連接。您可以將這兩個表連接在一起,給它們起別名(或者不,個人喜好),然后選擇您需要的。在這種情況下,您可能需要內部聯接。您的查詢可能如下所示:
SELECT p.Username FROM [Run] r
INNER JOIN [Player] p ON r.PlayerId = p.PlayerId
然后,如果您需要,您可以WHERE在此之后放置一個子句。
更多關于加入這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/366415.html
上一篇:Acumatica圖形函式
