DECLARE @a Table
( PersonID int,
Surname varchar(50),
Firstname varchar(50)
)
DECLARE @b Table
( PersonID int,
TotalPaymentPlanFee int
)
INSERT INTO @a
SELECT DISTINCT
Person.ID AS PersonID, Person.Surname, Person.Firstname,
FROM Person
INSERT INTO @b
SELECT t.EntityID AS PersonID, SUM(t.GrossAmount) AS TotalPaymentPlanFee
FROM Transactions t
Group By t.EntityID
select @StudentPaymentPlan.PersonID, @PaymentPlanFee.TotalPaymentPlanFee
from @StudentPaymentPlan
inner join @PaymentPlanFee ON @StudentPaymentPlan.PersonID = @PaymentPlanFee.PersonID
我建立了两个变量表,并分别向这两个变量表中插入数据,当我从这两个变量表中抽取数据的时候,提示说“要声明这两个表”
请教如何解决这个问题?
------解决方案--------------------
- SQL code
select A.PersonID, B.TotalPaymentPlanFee from @StudentPaymentPlan A inner join @PaymentPlanFee B ON A.PersonID = B.PersonID
------解决方案--------------------
- SQL code
--这两个表变量不存在啊@StudentPaymentPlan @PaymentPlanFee select A.PersonID, B.TotalPaymentPlanFee from @StudentPaymentPlan A inner join @PaymentPlanFee B ON A.PersonID = B.PersonID
------解决方案--------------------
一个是表 一个是表变量 不要混淆了。
------解决方案--------------------
需要将你的这些所有代码选中执行才可以。
------解决方案--------------------
你这个是表变量,不是表。使用和普通变量一样,要在一个会话中全部选中执行的。
------解决方案--------------------
--我改成这样居然可以, 不知道是为什么
select a.PersonID, b.TotalPaymentPlanFee
from @a a
inner join @b b ON a.PersonID = b.PersonID
------解决方案--------------------
只能用别名进行访问表变量中的字段