0

我一直在尝试对此进行测试,但到目前为止还没有成功。我正在尝试使用用户 ID 获取用户的不同字符。这两个不同的表很简单,用户只有一个 id 和一个名称,id 是主键,字符表只有一个 id(主键)、characterName 和用户 id。我一直在尝试使用 W3schools,但是当我尝试选择第二个表时,它会引发错误。

    CREATE PROCEDURE searchUserCharacter
    -- Add the parameters for the stored procedure here
    @userId INT
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;


SELECT Id,character
FROM tableUser.dbo.[user]
INNER JOIN tableUserCharacter.dbo.userCharacter
ON tableUser.dbo.[user].Id=tableUserCharacter.dbo.userCharacter.userId
    END
    GO
4

2 回答 2

0

使用别名

SELECT myUsers.Id,myUserCharacters.character
FROM tableUser.dbo.[user] myUsers
INNER JOIN tableUserCharacter.dbo.userCharacter myUserCharacters
ON myUsers.Id=myUserCharacters.userId
于 2012-10-15T21:13:16.953 回答
0

这是 SQL Server 吗?仔细检查您的表并确保表名和列名完全匹配。确保表确实在模式“dbo”中

如果这是在 SQL Server 中,请进入管理工作室,右键单击一个表并生成一个选择语句并运行它。确保上面的表名和列名与 select 语句中的匹配。

似乎问题就在身边

tableUserCharacter.dbo.userCharacter 

因此,在同一台服务器上,切换到数据库tableUserCharacter并确保这些表存在于dbo模式中。

于 2012-10-15T21:34:48.980 回答