我怀疑这和报道有关 ClientName
,这是一个 nvarchar
数据类型。 AUMid
是 nchar
. 我不知道如何在不改变数据类型的情况下解决这个问题(我不喜欢这样)。
SELECT
Clients.ClientName, AUM.ManagementFee,
SUM(AUM.ManagementFee * AUM.AUM) AS Management_Fee
FROM
AUM
JOIN
Clients ON AUM.AUMid = Clients.AUMid
GROUP BY
Clients.ClientName, AUM.ManagementFee
我需要展示 Clients.ClientName
. 它与 AUM
表via AUM.AUMid
.
CREATE TABLE Clients
(
ClientID nvarchar(50),
ClientName nvarchar(50)
AccountID nchar(10),
AUMid nchar(10)
);
CREATE TABLE AUM
(
AUMid nchar(10),
AUM nvarchar(max),
ManagementFee(decimal(9,4)
);
正在删除 SUM(AUM.AUM * AUM.ManagementFee) AS Management_Fee
允许执行查询。
1条答案
按热度按时间jljoyd4f1#
这显然是导致您的错误的原因:
因为
AUM.AUM
是字符串。如果您想存储一个数字,那么这似乎是一个非常糟糕的数据类型选择。然而,我怀疑你真的只想要一个直接的和:另一方面,问题可能是
AUM
是以逗号分隔的数字列表。如果是这样的话,我的第一个也是最真诚的建议就是修复数据模型。如果由于某种原因不能这样做,您可以解析字符串并祈祷它能正常工作: