表公司表单字典info表如下构造:ID,NAME,SSJT
其中第一列为公司名称id,name为公司名称,ssjt为该公司所属的集团公司的ID,问题是SSJT列在程序中为参照列,参照的正好是info表,SSJT字段存储的为该表中某一个ID值,现在要显示如下查询结果:
NAME值以及SSJT值,SSJT要求显示所保存的ID的name值,不知道该sql如何写呢??

解决方案 »

  1.   

    select A.NAME, SSJT = (select B.Name from info B) from info A where A.SSJT = @SSJT
      

  2.   

    select a.id,a.name,b.name as SSJT from info a left join info b
    on a.SSJT=b.id
      

  3.   

    select A.NAME, SSJT = (select B.Name from info B where B.ID = A.SSJT) from info A where A.SSJT = @SSJT
      

  4.   

    高手就是高手,没有可以难道的问题,呵呵,多谢两位。
    现在的问题是我该为
    select b.KHZD_MC from KHZD_JCZD left join KHZD_JCZD b on (KHZD_JCZD.KHZD_SSJT=b.KHZD_ID)后可以查出我想要的结果,我原先存在sql:
    select 
           FWQYZD_MC,
           KHZD_MC
    from KHZD_JCZD 
         left join FWQYZD on (KHZD_FWQY=FWQYZD_ID) 
    如果这样的话,我如和把第一个sql加入到下面这个里面呢?
    我测试了,如果写成
    select 
           FWQYZD_MC,
           KHZD_MC,
           b.KHZD_MC
    from KHZD_JCZD 
         left join FWQYZD on (KHZD_FWQY=FWQYZD_ID) 
         left join KHZD_JCZD b on (KHZD_JCZD.KHZD_SSJT=b.KHZD_ID)提示      KHZD_MC这列有问题,这样的话必须在前面加KHZD_JCZD.KHZD_MC,有没有别的办法呢?因为KHZD_MC这一列结果并不附属于第二个条件,而就是简单的取出来一个名字,加上后好像是通过第二个条件出来的了??