回答

收藏

联接结果给出重复的行-SQL Server

技术问答 技术问答 197 人阅读 | 0 人回复 | 2023-09-12

我目前正在处理的数据库没有按照我的想法设置。几乎没有主键/外键,所以联接表可能很难。5 K. I' O6 Q6 z5 \; Z& F
我试图重新创建与我创建的连接相似的问题,这是由于缺乏键而导致的错误重复。
( {& e8 e( Z: |( dsqlfiddle- http://sqlfiddle.com/#!9/ff59ad/1
9 b9 Z! n1 B: {  ^2 d9 R" _& a" Q2 ^询问:
4 e+ l0 x0 V4 ~- d6 Z  f& b: G- TSELECT I.InvoiceNumber,I.AmountPaid,O.AmountFROM OrderInvoice OJOIN Invoice I ON O.InvoiceNumber = I.InvoiceNumber现在,您可以看到重复发票号码的项目; |6 Z$ I  e) W! r* X) U
InvoiceNumber   AmountPaid  Amount   123                                                       567                                                                                                             10                                                                               123                                                                                                                                                                                                                                                                                                                                                       每次支付的总金额应该只有10,由于匹配的线,连接将为每个线创建20。因此,如果我把这些结果分组并和解,总数是错误的。这与我的实际例子略有不同,因为即使使使用普通的连接语法,我实际上也会交叉连接。: [0 G7 w! j* ]0 p$ r- r: w
删除这些重复行的最佳方法是什么?我试图加入多个列来创建唯一的行,但没有其他列可以加入。+ ^# F; A* e+ S7 r% z/ k
谁能给我建议?/ a( d0 n7 ~3 ]; l
                                                               
9 d/ ]3 F) b0 C, n2 _3 [    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则