我的数据库中有两个表,一个是事务,另一个是交易史。后者本质上是一个审核表,触发器在插入,更新和删除交易中执行以捕获数据的屏幕截图。
我成功地检索了列匹配的交易表中存储的所有数据,但是难度是我试图使用外键从另一个表检索数据的地方。例如:
事务表中具有" TransActionType_transactionTypeid"字段,但是在审核表中,我们希望将其'名称'等效存储为" TransActionTypeName"。这需要从" TransactionTypes"表中填充,该表具有" TransActionTypeid"one_answers"名称"。
。我正在努力编写一个查询来取回我们的意愿。我正在尝试类似于以下内容,但几乎没有成功:
SELECT @TransactionTypeName=Name
FROM TransactionTypes
WHERE inserted.TransactionType_TransactionTypeId=TransactionTypes.TransactionTypeId;
我假设这是一场句法噩梦。如果有人可以将我指向正确的方向,我将非常感激!
要获得一个名称,您应该做以下
select @TransactionTypeName = TT.Name
from inserted as i
left outer join TransactionTypes as TT on TT.TransactionTypeId = i.TransactionType_TransactionTypeId
,但是您必须知道inserted
表可以具有多个行,并且您仅获得一行的值。