可以请教一个SQL问题吗?一个查询的where子句有三个条件1.2.3用and or 连接,其中2和3是or的关系,让他们两个or的结果再和1进行and 关系:1 and (2 or3)
我是这样写的select * from table where 1 and 2 or 3 但结果却忽略了1这个条件,
请问大师,具体该怎么写

解决方案 »

  1.   

    select * from table where 1 and (2 or 3)
      

  2.   

    sprsstr = "select * from udf_ComtOpsl where (ComponentItem Like " & " 'G%'" & " Or ComponentItem Like " & " 'X%'") And CONumber = " & " '" & StrConv(Trim(conumin.Text), vbUpperCase) & "'"
    我是用VB6写的一个连接字符串,直接给两个或的条件加()括号语法错误,请问该怎么写
      

  3.   

    sprsstr = "select * from udf_ComtOpsl where (CONumber=" & "'" & StrConv(Trim(conumin.Text), vbUpperCase) & "'" & ") And (ComponentItem like " & " 'G%'" & " or ComponentItem like " & " 'X%'" & ")"
    谢谢各位支持,我已试出答案,如上
      

  4.   

    这个句子要成功,这样写:where and (1 or 2) and (1 or 3)
    看sqlserver帮助文档,or的作用限制
      

  5.   

    优先级:not > and > or ,先非后与再或select * from table where 1 and (2 or 3)
      

  6.   

    Sql Where 多个条件子句
      

  7.   

    最好写成:select   *   from   table   where   1   and   (2   or   3 )
      

  8.   

    --多加几个括号,把 2 or 3 and 1 括起来 ( (2) or (3) ) and (1))
    sprsstr   =   "select   *   from   udf_ComtOpsl   where  ( (ComponentItem   Like   "   &   "   'G% ' "   &   "   Or   ComponentItem   Like   "   &   "   'X% ' ")   And  ( CONumber   =   "   &   "   ' "   &   StrConv(Trim(conumin.Text),   vbUpperCase)   &   " ')) "