SQL Management Studio过滤器哪里的值“不存在”?

时间:2012-09-20 22:11:42

标签: sql conditional-statements not-exists

我加入了两个表格(让我们称之为小时和目标),如果在一个时间段内有一个与小时数相关的时间段内关联的目标,我想从第二个表格中拉出一个目标。 (目标可能包含以下内容:用户:Joe,目标:70,来自:2012年1月1日,收件人:2012年5月31日“

到目前为止,这很简单:

我根据“用户”加入了“所有'小时与目标”,我输出了目标,并使用过滤器使用“发件人”和“收件人”:“< = Hours.Date”和“> = Hours.Date “,分别。

问题是并非所有用户都可能在任何时间范围内拥有目标。在那种情况下,我希望返回0的目标。但是,根据条件,根本不返回与上述条件不符的行。

如何设置返回类似内容的条件:

Target.Target where(Target.From< = Hours.Date and Target.To> = Hours.Date)  要么 在所有其他情况下为0

谢谢!

1 个答案:

答案 0 :(得分:1)

你是不是喜欢这样的? http://sqlfiddle.com/#!3/18b5c/1/0

理想情况下,您会拥有一个用户表和商店ID,但我对您提出的问题的理解应该涵盖您尝试做的事情。