【发布时间】:2017-05-23 15:40:36
【问题描述】:
我的桌子有以下结构
empno empname 贷款参考金额 1 ABC 123 100 1 abc 456 200。即员工可以利用两笔贷款(例如汽车和踏板车)。
预期的输出:
empno empname 贷款 ref1 amt loanref2 amt 1 abc 120 100 456 200避免重复empno重复。 sql里面怎么弄???
【问题讨论】:
-
每个 empno 可以有多少重复行?如果这是可变的,则您需要具有可变列数的查询,这是不可能的。另外,你有没有试过什么?请发布您的尝试和遇到的问题。
-
首先:这是一个可怕的桌子设计。如果您在一个名为“abc”的记录和另一个名为“efg”的记录中找到 empno 1,该怎么办?那么,一个员工可以有多少个条目?你想得到多少列?
-
另外,为什么要避免表格中的“重复”?重复有什么问题?在这种情况下,它们是完全有效的、正常的和标准的。你没有一些真正的问题需要解决吗?
-
员工可以有可变数量的恢复。但我们现在不关心他们。我的主要目标是仅获取与 2 次回收相关的数据(即汽车和踏板车贷款)。这 2 个恢复具有不同的参考编号和不同的恢复代码。基本上,当我为每个员工查询数据库时,当员工同时拥有两个贷款时,已经获取了 2 条记录。我需要将结果提取到 excel 文件中并将其交给最终用户。因此,为了减少重复,是否可以将单个员工的 2 行减少到 1 行
-
@Thorsten Kettner:设计就是这样。那么对于上述要求有什么解决方案吗?