我收到此错误:
Msg 8158,Level 16,State 1,Line 32
' B'列数多于列列表中指定的列数。
我有一个存储过程,其中包含以下命令:
SELECT
A.Id,
A.Description,
B.StartDate
FROM
MyATable A
INNER JOIN
(SELECT
MAX(MyDate) AS StartDate, A_Id, X_Id, Y_Id
FROM MyBTable
WHERE ActionId = 25
GROUP BY A_Id, X_Id, Y_Id) B ON A.Id = B.A_Id
我错了什么?
答案 0 :(得分:0)
它在存储过程中。
我创建了一个临时表(并在结尾=>删除它)
然后我插入了内连接中的select语句
CREATE TABLE #tempTable (StartDate, A_Id)
INSERT INTO #tempTable (StartDate, A_Id) SELECT MAX(MyDate), A_Id GROUP BY A_Id FROM MyBTable
然后将语句改为:
SELECT
A.Id,
A.Description,
B.StartDate
FROM MyATable A
INNER JOIN #tempTable B ON A.Id = B.A_Id
这更容易。