数据库里建立了“铺位表”,“客户表”,“合同表”各一张,每张表都有主键都是id。铺位表和客户表是相对独立的。但在“合同表”里包含了“客户ID”和“铺位ID”(签合同时每个客户对应一个铺位),现想利用一个铺位ID,得到一个结果集,里面包括:铺位编号及铺位表里其它字段的内容、铺位相对应的客户编号及客户表里其它字段内容、以及合同表里的内容。
如果当初在客户表里加一个字段--“铺位编号”,可能会好查些,但想到一个客户可能对应多个铺位,所以没有做。
现在开始,在线等~~谢谢

解决方案 »

  1.   

    SELECT a.*,b.*,c.*
    FROM  合同表 a JOIN 铺位表 b ON a.铺位Id=b.Id
                  JOIN 客户表 c ON a.客户Id=c.Id
    WHERE 铺位Id='你要的'
      

  2.   

    我想显示:铺位表.铺位ID 铺位表.面积 客户表.客户联系人 合同表.合同ID 合同表.生效日期 
    //---------
    不知道SQL应该怎么写
      

  3.   

    SELECT b.铺位ID b.面积 c.客户联系人 a.合同ID a.生效日期  
    FROM  合同表 a JOIN 铺位表 b ON a.铺位Id=b.Id 
                  JOIN 客户表 c ON a.客户Id=c.Id 
    WHERE 铺位Id= '你要的 ' 
      

  4.   

    谢谢楼上的:love985
    我按你的写,结果是对的,谢谢。
    你能把这句SQL特别是join这个关键字解释一下吗?我刚接触 不是很明白,网上写的比较难懂。不好意思啊,呵呵
      

  5.   

    JOIN  ON 是联接关键字SELECT b.铺位ID b.面积 c.客户联系人 a.合同ID a.生效日期   
    FROM  合同表 a , 铺位表 b , 客户表 c 
    WHERE 铺位Id=  '你要的  'and a.铺位Id=b.Id  and a.客户Id=c.Id  这样写和上面出来的效果是一样的,用这个关键字做连接比较灵活,支持左[外]联接,右[外]联接,自联接
    具体的你可以看看SQL Server联机丛书