select tel from tb where (Largearea='LD-北京' and Residential in('北京LE','大区经理','大区助理')) or Largearea='LD-北区' and Residential in('沈阳LE-1','唐山LE')

解决方案 »

  1.   

    SELECT * FROM TABLE WHERE Largearea=@Largearea AND Residential in ('选中的那些')
    估计要分几次检索,一次性拼接SQL语句比较麻烦
      

  2.   

    你这个是问sql怎么写还是程序怎么写呢获取你选择的所有项,组成字符串,如:'rpm','北京en-2'+...构造sql
    sql = 'select residential,tel from tb where residential in ' +'rpm','北京en-2'+...
      

  3.   

    select tel from tb where (Largearea='LD-北京' and Residential in('北京LE','大区经理','大区助理')) or (Largearea='LD-北区' and Residential in('沈阳LE-1','唐山LE'))
      

  4.   


    sql怎么写。  我选择的  做参数 查询。
      

  5.   


    事实上你页面上的选择功能应该做成是:选择大区,其下的小区就都被选中;只选择小区大区也会被选中。
    所以只要Residential被选中,其Largearea也必定是有的。另外sql中的:
    Largearea='LD-北京' and Residential in('北京LE','大区经理','大区助理')
    实际上可以直接用Residential in('北京LE','大区经理','大区助理')就可以了,之所以要加Largearea='LD-北京'是为了查询效率增快
      

  6.   

    string selected="北京LE,大区经理,大区助理";
    selected = "'" + selected.Replace(",", "','") + "'";
    query="Select * From tb Where Residential in(" + selected +")"
    DataTable dt=db.Execute(query)
      

  7.   

    这个选Residential 就好了,LARGEAREA根本没有意义
      

  8.   

    把选中的所有元素,遍历到SQL查询条件中