1
1
好吧,听起来问题是,如果你加入到FromPersonID=PersonID和ToPersonId=PersonID上的Person,那么PersonData中的每条记录都会有2条记录。 解决方法是连接到PersonData的两个别名副本,这样就可以将结果附加到同一行中。比如:
基本上对“收件人”和“发件人”雇员字段执行相同的操作 |
2
2
看起来有4种可能:
|
3
1
因为您还没有将您的模式发布为SQLDDL,所以我很难看到这些表在实践中是如何工作的。以下是我的尝试:
表名“PersonData”没有透露太多信息,但从数据元素名称来看,似乎有什么东西正在从一个人/雇员转移到另一个人/雇员:
嗯,好吧
对于“from”和“to”,我们只需要一种类型的ID:
我们还需要一个“常识”业务规则来防止同一个人/员工之间的转移:
我们已经尽力了,但我们有几个问题:
如果我正确地假设员工是个人,为什么不只使用PersonID呢?
|
Community wiki · SQL语法新手 1 年前 |
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |