请各位看下面表
单位帐本表
单位ID  商品ID   科目ID    金额 
------------------------------------------
01       001     10101     5000 
01       0       1010401   2000 
02       002     10101     3000 
02       0       1010401   1000 
__________________________________________
//用户以2000中国银行付款时商品ID的值0;
单位表(ID=单位ID)
ID  单位名称 
--------------------------------------
01   广州飞翔           
02   海信集团   
_______________________________________
商品表(ID=商品ID)
ID    商品名称
--------------------------------------
001   彩色电视机      
002   滚筒洗衣机   
_______________________________________
科目表(ID=科目ID)
ID      科目名称
--------------------------------------
10101   库存商品      
1010401 中国银行   
_______________________________________
我想要构建一个查询
往来对帐查询
单位名称  商品名称    科目名称    金额 
------------------------------------------
广州飞翔  彩色电视机   库存商品   5000 
广州飞翔               中国银行   2000 
海信集团  滚筒洗衣机   库存商品   3000 
海信集团               中国银行  1000 
__________________________________________如何实现上面的查寻?

解决方案 »

  1.   

    select (select 单位名称 from 单位表 where a.单位ID= 单位ID) as 单位名称,
    (select  商品名称 from 商品表 where a.商品ID= 商品ID) as 商品名称,
    (select  科目名称  from 科目表 where a.科目ID= 科目ID) as 科目名称,
    金额
    from 单位帐本表 a
      

  2.   

    select 单位表.单位名称,商品表.商品名称,科目表.科目名称,金额
    from 单位帐本表,单位表,商品表,科目表
    where 单位帐本表.单位ID=单位表.ID and
      单位帐本表.商品ID=商品表.ID and
      单位帐本表.科目ID=科目表.ID
    或者用join效率更高
      

  3.   

    用join效率要比用 “单位帐本表.单位ID=单位表.ID  ”的效率高吗?