解决方案 »

  1.   

    select *
    from 订单表 a
    inner join 箱唛表 b
            on (a.目的国= b.目的国 and a.订单尾号=b.订单尾号) or
               (a.目的国= b.目的国 and a.运输方式=b.运输方式) 
      

  2.   

    SELECT
        *
    FROM
        订单表 a
    WHERE
        EXISTS ( SELECT
                    1
                 FROM
                    箱唛表
                 WHERE
                    目的国=a.目的国 AND (a.订单尾号=a.订单尾号 OR 运输方式=a.运输方式) )
      

  3.   

    优先级可以用ISNULL()来实现,但是具体看你的“没有”是什么意思
      

  4.   

    SELECT
        *
    FROM
        订单表 a
    WHERE
        EXISTS ( SELECT
                    1
                 FROM
                    箱唛表
                 WHERE
                    目的国=a.目的国 AND (订单尾号=a.订单尾号 OR 运输方式=a.运输方式) )多了个a., SORRY
      

  5.   

    select * from 订单表 a inner join 箱唛表 b         on (a.目的国= b.目的国 and a.订单尾号=b.订单尾号 and b.箱唛规则=【目的国+订单尾号】) or           (a.目的国= b.目的国 and a.运输方式=b.运输方式 and  b.箱唛规则=目的国+运输方式) 
      

  6.   

    select top 1 * from (
    select 1 ft,你要的业务字段 from a
    join b on 目的国+订单尾号 去和订单表连接
    where ...union all select 2 ft,你要的业务字段 from a
    join b on  目的国+运输方式 去和订单表连接
    ) a
    order by ft