【问题标题】:SQL Management Studio filter Where Value "Does Not Exist"?SQL Management Studio 过滤器值“不存在”在哪里?
【发布时间】: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


【解决方案1】:

你在追求这样的事情吗? http://sqlfiddle.com/#!3/18b5c/1/0

理想情况下,您应该有一个用户表和存储 ID,但我对您所要求的内容的理解应该涵盖您尝试做的事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2011-06-09
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多