我有几个表,table A, table B,table C
我的界面上要求通过A中的一条记录在B和C中的相关字段,我原来是想写成
select A.address,A.email, B.name,B.telephone, C.age,C.qq from A,B,C where A.id=1 and A.id=B.id and A.id=C.id但是业务逻辑要求A可以没有关联的C记录,所以我这样写的话,如果A中确定的一条记录没有与C表的关系记录,会导致我的这个查询结果为空,但是实际上A和B是有关系数据的。我现在想能不能分开查询A,B,C,三个表符合要求的字段,但是把这三个表的查询结果放到一条结果集中返回,我需要把这些信息做为一条记录绑定到一个grid中去。求教各位高手,能不能有什么办法实现我这个想法?万分感谢

解决方案 »

  1.   

    ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.en/s10de_1devconc/html/e95ceaa2-f84a-4809-87a4-832443df788a.htm
      

  2.   

    1. select A.address,A.email, B.name,B.telephone, C.age,C.qq from A join B right join C on A.id=B.id and A.id=C.id2. 你的想法也可行。创建个临时表,把select出的内容分批插进去,最后返回临时表
      

  3.   


    我发的只是举个例子,我实际用到的表要好几个,用left join 和right join 有点没法实现,像我举的例子是可以实现,但是有种复杂情况,是用A.ID在D表中确定一条记录,再用D表中的记录去E表中确定一条记录,这中情况我就不知道该怎么用join来实现了,求教
      

  4.   

    Linq,然后返回的东东放到ListView里绑定。
      

  5.   

    select A.address,A.email, B.name,B.telephone, C.age,C.qq from A,B,C where A.id=1 and A.id=B.id and A.id*=C.id
    //加个* 左关联,允许部分记录不是完全匹配
      

  6.   

    问题最后解决了,用嵌套的left join 解决,分就给5L了,给了我一定的启发