有两个表,表a里面的字段select a.y_id,a.e_id,a.e_category,a.title,a.pic_url1,a.startdate,a.enddate,a.recurring,表b里面的字段b.y_id ,b.Company_name,b.Company_City现在要取出a.y_id = b.y_id并且b.Company_name不能重复的所有字段怎么做,谢谢。

解决方案 »

  1.   

    select * from a Inner Join (
    select * from b where y_id in(
    select y_id from b group by Company_name having count(*)=1)
    ) c
    On a.y_id=c.y_id
      

  2.   

    select a.y_id,a.e_id,a.e_category,a.title,a.pic_url1,a.startdate,a.enddate,a.recurring
    from A
    inner join (
    select max(y_id) as y_id, Company_name from B group by Company_name) as B
    on A.y_id=B.y_id
      

  3.   

    select a.y_id,a.e_id,a.e_category,a.title,a.pic_url1,a.startdate,a.enddate,a.recurring,
    b.y_id ,b.Company_name,b.Company_City
    from A
    inner join (
    select min(y_id) as y_id from B group by Company_name) as C
    on A.y_id=C.y_id inner join B on c.y_id =b.y_id 
      

  4.   

    select a.y_id,a.e_id,a.e_category,a.title,a.pic_url1,a.startdate,a.enddate,a.recurring
    from A
    inner join (
    select max(y_id) as y_id, Company_name from B group by Company_name) as B
    on A.y_id=B.y_id