【发布时间】:2015-03-04 18:55:36
【问题描述】:
有人可以帮助了解具有多个 where 条件的外部联接的语法吗?我不确定整体查询的语法,尤其是不确定如何向所有三个表添加条件。
我有三张桌子:
A:员工 (hr_empmstr)
B:好处(hr_beneinfo)
C:工作(hr_emppay)
A:我需要一份所有员工 (A) 的列表。我需要过滤此列表以仅提供在职员工。
B:对于表 A 中的每个员工,我需要根据福利表 (B) 中当前生效的日期行显示当前选定的福利(即使没有我仍然需要一行)。我打算使用诸如benefit_end_dt > GETDATE() 之类的方法来执行此操作。该表每个员工有多行,因此 A:B 是 1:many。
C:我需要根据工作表 (C) 中当前有效日期行显示当前职位。该表每个员工有多行,因此 A:C 是 1:many。
这是我到目前为止的内容,但不确定如何在表 C 中添加以及如何为所有表(活动、最新行等)添加条件
select a.id, a.name, a.type, a.gender, a.hr_status, b.bene_plan, *
from hr_empmstr a
left outer join hr_beneinfo b
on a.id = b.id
and b.bene_end > GETDATE()
尝试提交表格的图片,但我没有足够的积分:-(
希望这能提供足够的信息。 谢谢!
【问题讨论】:
-
你能展示所有三个表的样子吗,即它们有哪些列?这将使某人更容易建议如何正确执行连接。看看这个,我认为您的第一次连接是错误的,因为您使用的是两个表中的唯一标识符,而不是外键和主键。
-
我正在尝试添加表格和键的屏幕截图,但不知道如何。有什么建议吗?
-
不确定您使用的是什么操作系统,但您应该能够将屏幕截图保存为图像文件,并在编辑时通过单击“图像”图标将其添加到您的帖子中。跨度>
-
我在编辑我的原始帖子时发现了它,但它不会让我,因为我在网站上没有足够的积分......
-
我找到了每个表的 PK 和 FK:beneinfo PK = unique_key, FK = id。 empmstr PK = id,Fk = bargunit。 emppay PK = unique_key,FK = id,pcn。希望这会有所帮助!
标签: sql join syntax max criteria