因为我的dbo.BS1_BaseCode表是根据BaseCodeType='fhfsb'这个状态出结果的
现在我需要BS1_BaseCode表中三个字段的值,但这三个字段要根据BaseCodeType字段的值来分别区分,表现如下(下图是错误的)但是我是要根据状态出结果,不知道SQL应该怎么写
SELECT *,dbo.LD3_Consign.BillNo as abillno FROM dbo.LD3_Consign left Join dbo.BS1_BaseCode on dbo.LD3_Consign.TrafficType=dbo.BS1_BaseCode.BaseCode and BaseCodeType='fyfsb' left Join dbo.BS1_BaseCode on dbo.LD3_Consign.PassType=dbo.BS1_BaseCode.BaseCode and BaseCodeType='fhfsb' WHERE DocNo='$seach1'

解决方案 »

  1.   

    我有一个A表,平时是根据它的BaseCodeType字段的值来确定对应的BaseCode字段的值,也就好像这个连接查询语句
    left Join dbo.BS1_BaseCode on dbo.LD3_Consign.TrafficType=dbo.BS1_BaseCode.BaseCode and BaseCodeType='fyfsb' 
    现在我是要在同一个查询里取BaseCodeType字段的三个值来进行连接查询
    left Join dbo.BS1_BaseCode on dbo.LD3_Consign.TrafficType=dbo.BS1_BaseCode.BaseCode and BaseCodeType='fyfsb' 
    left Join dbo.BS1_BaseCode on dbo.LD3_Consign.PassType=dbo.BS1_BaseCode.BaseCode and BaseCodeType='fhfsb'
    SQL应该怎么写才对
      

  2.   

    SELECT B.*,dbo.LD3_Consing.BillNo as abillno FROM dbo.LD3_Consign A 
    LEFT JOIN Join dbo.BS1_BaseCode B ON A.trafficType = B.BaseCode 
    WHERE B.BaseCodeType='fyfsb' AND A.TrafficType = A.PassType AND DocNo='$seach1'
    应该是这样的