SqlServe_routapply 使用

<pre><code>
SELECT

newstate=case when (isnull(accfirst,0)>0 AND isnull(accarrived,0)>0 AND isnull(accback,0)>0 ) then (isnull(accfirstok,0)+(isnull(accarrivedok,0)+(SELECT sum(hx_status) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND hx_status=1))+(case when (isnull(accbackok,0)=1 AND isnull(accleft,0)=0) then 1 else 0 end )) -- 現(xiàn)付,到付,回付
              when (isnull(accfirst,0)>0 AND isnull(accarrived,0)>0 AND isnull(accback,0)=0 AND isnull(accfirstok,0)=1 AND ( isnull(accarrivedok,0)=1 or  ((SELECT sum(hx_status) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND hx_status=1)=(SELECT count(1) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND acc>0)) )) then 3  --現(xiàn)付,到付
              when (isnull(accfirst,0)>0 AND isnull(accarrived,0)=0 AND isnull(accback,0)>0 AND isnull(accfirstok,0)=1 AND (isnull(accbackok,0)=1 AND isnull(accleft,0)=0)) then 3-- 現(xiàn)付,回付
              when (isnull(accfirst,0)>0 AND isnull(accarrived,0)=0 AND isnull(accback,0)=0 AND isnull(accfirstok,0)=1 ) then 3 --只有現(xiàn)付
              when (isnull(accfirst,0)=0 AND isnull(accarrived,0)>0 AND isnull(accback,0)=0 AND (isnull(accarrivedok,0)=1 or ((SELECT sum(hx_status) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND hx_status=1)=(SELECT count(1) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND acc>0)) )) then 3 --只有到付
              when ( isnull(accfirst,0)=0 AND isnull(accarrived,0)=0 AND isnull(accback,0)>0 AND (isnull(accbackok,0)=1 AND isnull(accleft,0)=0) ) then 3 --只有回付
              when ( isnull(accfirst,0)=0 AND isnull(accarrived,0)>0 AND isnull(accback,0)>0 AND (isnull(accarrivedok,0)=1 or ((SELECT sum(hx_status) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND hx_status=1)=(SELECT count(1) FROM B_VEHICLE_account WHERE inoneflag=a.inonevehicleflag AND acc>0))  ) AND (isnull(accbackok,0)=1 AND isnull(accleft,0)=0)) then 3 --只有到付回付
              else 0 end,billdate as senddate

FROM B_VEHICLE_HT as a left join b_vehicle_trace as b on a.inonevehicleflag=b.inoneflag
outer apply (select
weighttotal=sum(d.weight * c.qty / d.qty),
volumntotal=sum(d.volumn * c.qty / d.qty),
acctrans=sum(d.acctrans * c.qty / d.qty),
acctotal_in=sum((d.accnow + d.accarrived + d.accback + d.accmonth + d.acchuokuankou)* c.qty / d.qty),
acchuikou=sum(d.acchuikou * c.qty / d.qty),
bdqita=sum(d.bdqita * c.qty / d.qty),
accfact=sum((d.accnow + d.accarrived + d.accback + d.accmonth + d.acchuokuankou - d.acchuikou - d.bdqita) * c.qty / d.qty),
qtytotal=sum(c.qty)
from b_fcd as c join b_tyd as d on c.unit=d.unit
where c.inonevehicleflag=a.inonevehicleflag
) as e
WHERE a.billdate BETWEEN @t1 AND @t2
AND a.bsite like @bsite
AND a.esite like @esite

</pre></code>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 半塊月亮 離開了山頂洞 我們沿河牧馬而來 雙手 雙手沾滿相互的愛情 我們埋了道路 建了村莊 一只粗笨的陶碗 收養(yǎng)了我們
    古郁閱讀 410評論 0 0
  • 1.beforeCreate: 創(chuàng)建了Vue組件實例,但是組件屬性還未初始化。比如,data, elt等為unde...
    電影里的夢i閱讀 189評論 0 0
  • 半醉談兵氣尚雄,短衣長劍夢從戎。十年猿臂閑無用,野圃斜陽試柘弓。
    b00a2860b713閱讀 162評論 0 0
  • 紅塵有淚 繁花飄散 飛絮如雪 落滿紅妝 天蒼蒼 夜凄涼 發(fā)絲千丈 愁長 如雪如霜 為誰惆悵到天亮 紅霞 掩不住心傷...
    星辰溥天閱讀 249評論 0 0
  • 一日,宋代大學士蘇東坡與佛印禪師在禪堂打坐,蘇東坡問禪師:"你看我坐在這里像什么?"禪師回答:"如來。"禪師反問東...
    北斗玉衡閱讀 372評論 0 1

友情鏈接更多精彩內(nèi)容