在我的模型中,我有两个节点 ACCOUNT 和 WARNING。ACCOUNT 可以有零到多个警告。
ACCOUNT 节点有多个列,其中 ACCOUNTNUMBER 作为唯一列。
WARNING 节点具有 WARNINGCODE、WARNINGDESCRIPTION 和 EXPIRATIONDATE。我还创建了一个边缘表 HAS_A_WARNING,除了通常的列之外,我还有 ExpirtionDate。
我有一个临时表,其中包含 ACCOUNTNUMBER、WARNINGCODE、WARNINGCODEDESCRIPTION、EXPIRATIONDATE。当我运行以下语句时,出现错误:
Msg 116, Level 16, State 1, Line 17 当子查询没有用 EXISTS 引入时,只能在选择列表中指定一个表达式。消息 213,级别 16,状态 1,行 2 列名称或提供的值的数量与表定义不匹配。
INSERT INTO [dbo].[HAS_A_WARNING]
values
(
(SELECT
ac.$node_id,
w.$node_id,
acw.ExpirationDate
FROM dbo.Account ac
join Stage.AccountWarning acw
on acw.AccountNumber = ac.ACCOUNTNUMBER
join dbo.Warning w
on w.WarningCode = acw.WarinngCode)
)