【问题标题】:Get multiple columns in WHERE clause在 WHERE 子句中获取多个列
【发布时间】:2015-08-17 22:55:12
【问题描述】:

我想在 where 子句中有 3 列,我想做这样的事情:

SELECT ImageID FROM [ImageWithTags] WHERE Tag1=@TAG1, Tag2=@TAG2, Tag3=@TAG3

我怎样才能得到上面的输出?

我想要我的 c# 应用程序的所有三列,我尝试了多种方法,但找不到正确的方法。

【问题讨论】:

  • Tag1=@TAG1 And Tag2=@Tag2 etc...Tag1=@TAG1 Or Tag2=@TAG2 etc.
  • “在 WHERE 子句中获取多列” 真的没有意义。您似乎想选择一个适用三个条件的列。您要么希望这些条件中的任何为真(使用OR),要么所有条件都为真(使用AND),或者它们的组合(使用a AND b OR c)。

标签: c# sql-server select where-clause


【解决方案1】:

简单地说:

SELECT ImageID FROM [ImageWithTags] WHERE Tag1=@TAG1 OR Tag2=@TAG2 OR Tag3=@TAG3"

如果你只想要满足所有这些标签的行:

SELECT ImageID FROM [ImageWithTags] WHERE Tag1=@TAG1 AND Tag2=@TAG2 AND Tag3=@TAG3"

【讨论】:

    【解决方案2】:
    SELECT ImageID FROM [ImageWithTags] WHERE Tag1=@TAG1 AND Tag2=@TAG2 AND Tag3=@TAG3
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 2020-09-28
      相关资源
      最近更新 更多