表a
REGION_ID REGION_NAME CROP_ID CROP_NAME MESSAGE
221 甘南高原区 100012 藏红花 测试信息
221 甘南高原区 100017 柴胡 测试信息
221 甘南高原区 100025 党参 测试信息
221 甘南高原区 100028 豆类 测试信息
221 甘南高原区 100044 胡麻 测试信息
表B
    CUST_CODE CUST_NAME CITY_ID CITY_NAME BUSN_ID BUSN_NAME CROP_ID CROP_NAME
1 0930300001 临夏州临夏市特色经济作物套餐 22930 临夏州 22930005 临夏县 200088 盆景
2 0930300002 临夏州临夏市温棚作物套餐 22930 临夏州 22930005 临夏县 200098 青椒
3 0930300002 临夏州临夏市温棚作物套餐 22930 临夏州 22930005 临夏县 100011 蚕豆
4 0930300003 临夏州临夏市养殖套餐 22930 临夏州 22930005 临夏县 300025 牛
5 0930310001 临夏州临夏县粮油套餐 22930 临夏州 22930005 临夏县 100089 小麦
6 0930310001 临夏州临夏县粮油套餐 22930 临夏州 22930005 临夏县 100096 油菜花
7 0930310001 临夏州临夏县粮油套餐 22930 临夏州 22930005 临夏县 100100 玉米
8 0930310002 临夏州临夏县养殖套餐 22930 临夏州 22930005 临夏县 300023 绵羊
9 0930320001 临夏州康乐县粮油套餐 22930 临夏州 22930002 康乐县 100061 马铃薯
10 0930320001 临夏州康乐县粮油套餐 22930 临夏州 22930002 康乐县 100071 青稞
11 0930320001 临夏州康乐县粮油套餐 22930 临夏州 22930002 康乐县 100089 小麦
12 0930320001 临夏州康乐县粮油套餐 22930 临夏州 22930002 康乐县 100096 油菜花
13 0930320001 临夏州康乐县粮油套餐 22930 临夏州 22930002 康乐县 100100 玉米
表C
    REGION_NAME BUSN_ID BUSN_NAME REGION_ID CITY_ID CITY_NAME PROVINCE_ID PROVINCE_NAME
1 赤峰地区 10476009 赤峰市翁牛特旗 101 10476 赤峰市 10 内蒙古
2 赤峰地区 10476010 赤峰市敖汉旗 101 10476 赤峰市 10 内蒙古
3 赤峰地区 10476011 赤峰市喀喇沁旗 101 10476 赤峰市 10 内蒙古
4 赤峰地区 10476012 赤峰市宁城县 101 10476 赤峰市 10 内蒙古
5 大兴安岭北区 10470001 呼伦贝尔市海拉尔区 102 10470 呼伦贝尔市 10 内蒙古
6 大兴安岭北区 10470002 呼伦贝尔市满洲里市 102 10470 呼伦贝尔市 10 内蒙古
7 大兴安岭北区 10470003 呼伦贝尔市牙克石市 102 10470 呼伦贝尔市 10 内蒙古
8 大兴安岭北区 10470005 呼伦贝尔市根河市 102 10470 呼伦贝尔市 10 内蒙古
9 大兴安岭北区 10470006 呼伦贝尔市额尔古纳市 102 10470 呼伦贝尔市 10 内蒙古
10 大兴安岭北区 10470007 呼伦贝尔市陈巴尔虎旗 102 10470 呼伦贝尔市 10 内蒙古
11 大兴安岭北区 10470009 呼伦贝尔市新巴尔虎左旗 102 10470 呼伦贝尔市 10 内蒙古
12 大兴安岭北区 10470010 呼伦贝尔市新巴尔虎右旗 102 10470 呼伦贝尔市 10 内蒙古
13 大兴安岭北区 10470012 呼伦贝尔市鄂温克族自治旗 102 10470 呼伦贝尔市 10 内蒙古
现在需要在B里找出cust_code 条件是 1》a的crop_id是b的crop_id的子集 
                                  2》a.region_id在c.region_id子集里
                                  3》b.busn_id=c.busn_id
                                  4>基础表是a
语句应该怎么写
我写的这个好像不对
select a.cust_code,c.message from zjsc_gs_busn_crop a, zjsc_big_region_map b,
zjsc_gs_nskj_message c where a.crop_id=c.crop_id and b.region_id=c.region_id 
and a.busn_id=b.busn_id

解决方案 »

  1.   

    SELECT a.cust_code, c.message
      FROM zjsc_gs_busn_crop a, zjsc_big_region_map b, zjsc_gs_nskj_message c
     WHERE a.crop_id = c.crop_id AND
           b.region_id = c.region_id AND
           a.busn_id = b.busn_id
    这个语句有问题吗?你想要什么结果集?那点不合要求?
      

  2.   

    就是比如现在a表中有数据20条 假定a.crop_id 的个数< b.crop_id的个数 
    a.region_id 的个数 <c.region_id的个数 且 b.busn_id的个数<c.busn_id的个数
    a 里有一条数据 他的crop_id在b.crop_id的范围里 但是b里1个 crop_id可以对应好几个busn_id
    a 里的region_id在c的region_id的范围里 但是c里的1个region_id对应好几个busn_id现在如何从b表里找出a表的数据所对应的B.busn_id