我的表结构如下主业务表(tab_operation)
ID (PK,int,not null)
ID_operation_sort(int) //单据性质 
ID_company (int) //发生关系的公司
Income (money) //销售/折款收入
ID_transport_company(int) //货运公司
Other (nvarchar(50)) //备注公司表(tab_company)
ID (PK,int,not null)
CompanyName        (nvarchar(50))目前的问题是ID_company和ID_transport_company都要参考公司表tab_company
结果CompanyName重复以前的SQL语句(报错)
select * from tab_operation 
Inner Join tab_company on tab_operation.ID_company=tab_company.ID
Inner Join tab_company on tab_operation.ID_transport_company=tab_company.ID

解决方案 »

  1.   

    select * from tab_operation 
    Inner Join tab_company on tab_operation.ID_company=tab_company.ID
    AND tab_operation.ID_transport_company=tab_company.ID
    这样呢?
      

  2.   

    select * from (select * from (select * from tab_operation 
    Inner Join tab_company on tab_operation.ID_company=tab_company.ID)a Inner Join tab_company on a.ID_transport_company=tab_company.ID)b没测试过..
      

  3.   

    select * from tab_operation  AS A 
    Inner Join tab_company  AS B on A.ID_company=B.ID
    Inner Join tab_company  AS C on A.ID_transport_company=C.ID
      

  4.   

    select A.*,B.CompanyName   AS 关系的公司 ,C.CompanyName AS 货运公司 from tab_operation  AS A 
    Inner Join tab_company  AS B on A.ID_company=B.ID
    Inner Join tab_company  AS C on A.ID_transport_company=C.ID
      

  5.   

    cpp2017(慕白兄) 能说的再明白些吗?
      

  6.   

    惭愧..select a.*,fs_company=b.CompanyName,hy_company=c.CompanyName from tab_operation  AS A 
    Inner Join tab_company  AS B on A.ID_company=B.ID
    Inner Join tab_company  AS C on A.ID_transport_company=C.ID
      

  7.   

    因为你两个inner join 跟着的表名一样
    用as给这两个表名重命名,应该就不会错了