问题描述
我总共有四个表: 尺寸表-书籍和作者 过渡表-书/作者 交易事实
由于书籍有多位作者,一位作者有多本书,因此使用桥表来解决多对多关系
表结构如下:
Dim_Books:
book_id (PK)
ISBN
Title
昏暗的作者:
Author_id (PK)
FName
LName
Book_auth_bridge:
book_auth_id (PK)
book_id
auth_id
事实销售:
Sale_amount
quantity
Book_id
book_auth_id
我正尝试从事实表中检索作者的总销售额,因为我正在与过渡表联接,所以我总是从内部联接中获取多行,并且重复的次数也是如此。
如何编写sql以获得作者的总销售额?
解决方法
最灵活的解决方案是在桥接表中包括一个“分配因子”列,并将其与您的度量相乘以得到所需的比例。
例如,如果您想在3个人之间平均分配,那么所有3个桥接表记录中的系数都是0.333。但是,如果您想将50%分配给主要作者,然后将剩余部分与其他作者平均分配,则系数将分别为0.5、0.25和0.25