【发布时间】:2017-12-18 09:03:07
【问题描述】:
我有 2 个表 - 一个主表和另一个查找表。两者都没有任何钥匙。表结构如下。
first name last name role location Compensation Level state
john smith Manager LA A CA
john smith Manager BOS B MA
super smither developer LA B CA
tina taylor supervisor SFO A CA
tina taylor supervisor BOS B MA
first name last name role dept
john smith manager finance
john smith manager hr
super smither developer PA
tina taylor supervisor HR
tina taylor supervisor hr
非常可以理解,将两个表连接起来以获取名字、姓氏和角色组合的部门将导致不正确的结果,因为混合中涉及识别真正唯一记录的其他字段。
但是考虑到这样的结构,我有什么办法可以连接这两个表来获得部门?
由于最终过程的设计方式和其他因素,不能选择使用内联子查询。
对此有什么想法吗?
预期输出:
first name last name role location Compensation state dept
john smith Manager LA A CA finance
john smith Manager BOS B MA hr
super smither developer LA B CA PA
tina taylor supervisor SFO A CA HR
tina taylor supervisor BOS B MA HR
【问题讨论】:
-
您打算如何在没有任何密钥的情况下做到这一点?没有办法知道哪个约翰史密斯在那里。和蒂娜·泰勒一样。
-
没有。这不是密钥本身的问题,而是没有办法唯一标识角色/部门。表 2 需要也在表 1 中的鉴别器
-
@DanGuzman 我没有,这就是当前设计的挑战。除非重新设计结构,否则无法判断我是否为员工分配了正确的部门。
-
这是一个设计问题。你需要解决这个问题。否则没有解决办法
-
解雇你的开发团队。从大炮里出来。
标签: sql sql-server