c# - 如何在sql查询中得到正确的结果?

标签 c# sql sql-server-2008

我想查询我的 Membership 表以获得特定成员的结果,但我得到了错误的结果。这是我的查询:

  select MemNo, MemDOB, MemberType, MemShrBal
  From Membership
  Where MemberType = 1 or MemberType = 2 
  and MemDOB > '1973/12/31' 
  and MemShrBal = 250.00

谁能帮我找出原因:除了正确的 member 记录外,我还获得了 MemShrBal 超过 250.0 的那些 member 记录,并且MemDOB 低于“1973”?

最佳答案

你需要一些括号:

select MemNo, MemDOB, MemberType, MemShrBal
  From Membership
  Where (MemberType = 1 or MemberType = 2)
  and MemDOB > '1973/12/31' 
  and MemShrBal = 250.00

andor 绑定(bind)得更紧密,所以没有括号,它是

  MemberType = 1

  or
      MemberType = 2
      and MemDOB > '1973/12/31' 
      and MemShrBal = 250.00

关于c# - 如何在sql查询中得到正确的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18350906/

相关文章:

sql - 使用 SQL 查询生成时间表的所有可能组合

sql - Visual Studio 2015 生成实体关系图

sql - 将 XML 存储在 XML 类型字段中或使用 FILESTREAM

sql - 为什么不能在动态语句中使用DB_NAME()

c# - 字符串或二进制数据将被截断 - 列足够大

javascript - 如何在 WebBrowser 控件中调用 JavaScript?

c# - 查找以点为单位保存的经纬度之间的距离

c# - 使用文件系统和 SQL 数据库的 Winforms 文档管理器

sql - sql查询的问题

SQL 查询以选择特定的列值并连接它们