有3个表 是一对多关系 即一个conutry有多个city,一个city有多个school 
表A 
      conutry_cd        主键 
      conutry_name    (假设有多个相同的国家name) 
      conutry_天气   表B 
      conutry_cd  
      city_cd           主键 
      city_name 表c 
      conutry_cd  
      city_cd           主键 
      school_cd         主键 
      school_name 现在要取得conutry_cd ,city_cd  ,school_cd  ,conutry_name    ,city_name ,school_name       条件是conutry_name='ABC'and conutry_天气 ='hot',取得的数据不能重复 请问该如何实现,谢谢。 

解决方案 »

  1.   

    一对多的关系,如果是选出school,其中city和country的信息是冗余的,是有重复的可能的select country.country_cd, country.country_name, city.city_cd, city.city_name, school.school_cd, school.school_name from country, city, school where school.country_cd=country.conutry_cd and school.city_cd=city.city_cd and country.conutry_name='ABC'and conutry.conutry_天气 ='hot'
      

  2.   

    select country.country_cd, country.country_name, city.city_cd, city.city_name, school.school_cd, school.school_name from country, city, school where school.country_cd=country.conutry_cd and school.city_cd=city.city_cd and country.conutry_name='ABC'and conutry.conutry_天气 ='hot'
      

  3.   

    select c.conutry_cd, c.city_cd, c.school_cd, a.conutry_name, b.city_name, c.school_name
      from 表1 a, 表2 b, 表3 c
      where c.conutry_cd = a.conutry_cd
        and c.city_cd = b.city_cd
        and a.conutry_name = 'ABC'
        and a.conutry_天气 = 'hot'
      group by c.conutry_cd, c.city_cd, c.school_cd, a.conutry_name, b.city_name, c.school_name