我有个三个表 假设 三个表的名字分别是 A B C,
A 和 B 是多对一关系  B和C是一对多关系。我改如何连接这三张表去查询数据呢?现在遇到的问题是 我 A B表做完连接以后,b表的id值会对应多行的a表的内容,此时再去连接c表以后,本来前两个表的多条内容中的每条内容又会对应c表中的多条内容,查询数据将不会正确,请问如何解决??

解决方案 »

  1.   


    直接这样看看
    select 需要显示的列名 from a,b,c where a.id=b.id and b.id=c.id
      

  2.   

    楼上的 不行的。查出很多重复的数据,也不是重复的。就是说a b表连接以后会有多条记录都记录着同一个b表的id,但是再连接到c表的话,那个id还会对应很多条c表的记录,这样下去,数据是有问题的数据。
      

  3.   

    A 和 B 多对一 这里,你要得到什么样的一条数据呢?总归要有个规则的去取一条吧?不然row_number 随便取一条 ,再去和 c 关联 也行