伙计,我真的需要您的帮助。问题是在Visual Studio中,我正在尝试创建具有两个表的内部联接的存储过程:КатегорииЗатрат(英文表示Category)和Расходы(英文表示Expenses),以确保我可以显示Category的名称而不是它的编号。
但是,我得到一个错误
过程:[dbo]。[GetInfo]包含对对象的未解析引用。该对象不存在或引用不明确,因为它可以引用以下任何对象:[dbo]。[КатегорииЗатрат]。[c] :: [КатегорииЗатратId]或[dbo]。[Расходы]。[c] ::: [КатегорииЗатратId]`。
我正在使用的代码:
CREATE PROCEDURE [dbo].[GetInfo]
AS
BEGIN
SELECT
[Период],
[Стоимость],
[КатегорииЗатратId],
[Комментарий]
FROM
[dbo].[Расходы] AS с
INNER JOIN
[dbo].[КатегорииЗатрат] AS cat ON c.КатегорииЗатратId = cat.Id
END
答案 0 :(得分:2)
您需要指定要从哪个表中选择[КатегорииЗатратId]
。例如
Create PROCEDURE [dbo].[GetInfo]
AS
Begin
SELECT
[Период],
[Стоимость],
c.[КатегорииЗатратId],
[Комментарий]
FROM [dbo].[Расходы] as с inner join [dbo].[КатегорииЗатрат] as cat on
c.КатегорииЗатратId=cat.Id
End
答案 1 :(得分:1)
您的选择包含一个字段引用,SQL Server无法解析该字段引用,因为该字段存在于您选择的多个表中,因此它不知道您的意思。
将表前缀添加到选择列表中的每个字段。