【发布时间】:2012-09-13 08:27:39
【问题描述】:
我加入了两个表(我们称它们为 Hours 和 Target),如果在围绕日期的时间段内有一个关联的目标,则希望从第二个表中提取一个目标。 (目标可能是这样的:用户:乔,目标:70,从:1/1/2012,到:5/31/2012"
到目前为止,这很容易:
我根据“用户”加入了 Target 的“All of” Hours,我输出 Target 并使用带有过滤器的“From”和“To”:“=Hours.Date”,分别。
问题在于,并非所有用户都可能在任何时间范围内都有目标。在这种情况下,我希望返回 0 的目标。但是,根据条件,根本不返回不符合我上述条件的行。
我怎样才能设置一个返回类似这样的条件:
Target.Target where (Target.From = Hours.Date) 要么 在所有其他情况下为 0
谢谢!
马可
【问题讨论】:
-
如果我们有一个示例数据集或至少可以使用表结构和查询,而不是一些抽象的文本描述,这会容易得多。
-
您是否只需要
LEFT JOIN并在查询中合并列定义?
标签: sql conditional-statements not-exists