现在要做一个高级查询功能 因为查询的表很.每个表的某个值都有可能是查询条件
我就做了一个下拉框联动来显示表和列 
现在主表是UserInfo 以下的从表都是一对多的关系 也就是每个表某一个用户都有1-2条的记录(最多2条)需要查询15张表 如果每个表的每个人都是一对一的话.300个用户 left join后就是最多300人
而现在 我全部串起来大约就有30万条记录 先说一下我的做法吧左边是选项 用户选择表 在选择列 在输入条件 (等于 大于 小于) 最后查询值输入查询值
我把这些条件用一个列表显示出来 然后用户继续添加 直到用户点查询的时候我在把条件整合起来
可是现在出现了的问题就是有  或(or) 这个关系 我的查询条件是 and ...and ...and 现在多出一个或这样的条件 也就是说我得给他 和他前面的查询条件 打个括号.要不然就白查了 但不我知道怎么给他加括号 各位大哥能按我的要求给我一点思路吗?我不知道该怎么做了

解决方案 »

  1.   

    or的前一个条件之前加(
    or的后一个条件之后加)
    你的表似乎设计得有问题
      

  2.   

    分组
    比如说条件 a=1 or (b=1 and c=1)
    那么就是a=1为一个组 g1 
    b=1 and c=1 为g2 记录g1和g2之间的关系为or  g1包含的Sql语句为a=1  g2为b=1 and c=1
    然后根据这个规则组装where语句组当然也可以包含组,这样就可以无限制的分组下去
    组可以有子组,这样就可以打到组装Sql的目的了。
    页面控制比较复杂