【发布时间】:2016-05-03 23:30:28
【问题描述】:
我在更改 SQL 服务器中的表时遇到错误,查询是这样的:
ALTER TABLE t_OrderDetail DROP COLUMN [TotalCost];
GO
ALTER TABLE t_OrderDetail ADD TotalCost
AS (((t_OrderDetail.[ItemQuant] * t_Item.[ItemCost]) * 17.5) / 100);
我想将公式应用于该列 - 它是商品的成本,乘以购买的数量,然后加上 17.5% 的增值税。
这就是表格的设置方式: Relationship Diagram
错误显示:
Msg 4104, Level 16, State 1, Line 3
The multi-part identifier "t_Item.ItemCost" could not be bound.
有什么建议吗?我环顾四周寻找重复的线程,但我能找到的大部分内容都是基于 SELECT 语句而不是更改列公式。提前致谢。
【问题讨论】:
-
什么是
t_Item??错误很清楚,数据库引擎不知道它是什么(我也不知道) -
t_Item 如果您看到帖子中链接的图片是另一张桌子。
-
忽略无法做到这一点的事实,试着想象它会如何工作,然后看看你会得到什么。当你这样做时,假装你是真正的计算机,运行一个真正的数据库引擎,通过使用你“知道”你想要达到的结果来“不要作弊”。
-
可以在字段的条件中引用外部列,不是吗?这只是数据库中保存的两个值之间的计算
-
你有没有想过我建议你做什么?您是否从 t_Item 表中选择了一个值?你选了哪一排?为什么是那行?你知道这是怎么回事吗?
标签: sql sql-server alter-table