You are on page 1of 2

WITH

kx AS --Lấy ra thông tin kho xuất


(
SELECT
t.ID_DB_V3 AS ID_KHO_XUAT,
t.MA_KHO_DIEM_BAN AS MA_KHO_XUAT,
t.TEN_KHO_DIEM_BAN AS TEN_KHO_XUAT
FROM `xeca-bq-production-20102023.dwh.D_KHO_DIEM_BAN` AS t
JOIN `xeca-bq-production-20102023.dwh.D_CAP_KHO` AS t2
ON
t.MA_CAP_KHO = t2.MA_CAP_KHO
AND t2.MA_CAP_KHO = 'WL0001'

),

kn AS --Lấy ra thông tin kho nhập


(
SELECT DISTINCT
t.ID_BDH_V3 AS ID_KHO_NHAP,
t.MA_BDH AS MA_KHO_NHAP,
t.TEN_BDH AS TEN_KHO_NHAP
FROM `xeca-bq-production-20102023.dwh.D_KHO_DIEM_BAN` AS t
JOIN `xeca-bq-production-20102023.dwh.D_CAP_KHO` AS t2
ON
t.MA_CAP_KHO = t2.MA_CAP_KHO
AND t2.MA_CAP_KHO = 'WL0003'

UNION ALL

SELECT DISTINCT
t.ID_DB_V3 AS ID_KHO_NHA,
t.MA_KHO_DIEM_BAN AS MA_KHO_NHAP,
t.TEN_KHO_DIEM_BAN AS TEN_KHO_NHAP
FROM `xeca-bq-production-20102023.dwh.D_KHO_DIEM_BAN` AS t
JOIN `xeca-bq-production-20102023.dwh.D_CAP_KHO` AS t2
ON
t.MA_CAP_KHO = t2.MA_CAP_KHO
AND t2.MA_CAP_KHO = 'WL0005'

),

t1 AS --Tổng hợp các cột lại thành báo cáo 'Nhập từ BTCom'
(
SELECT
od.NGAY_TAO_DON AS NGAY_TAO_DON,
od.MA_DON_HANG AS MA_PHIEU,
od.SO_CHUNG_TU AS SO_CHUNG_TU,
od.MA_KHO_XUAT AS MA_KHO_XUAT,
-- AS TEN_KHO_XUAT,
od.ID_KHO_NHAP AS ID_KHO_NHAP,
od.MA_KHO_NHAP AS MA_KHO_NHAP,
od.ID_KHO_TINH_NHAP AS ID_KHO_TINH_NHAP,
-- AS TEN_KHO_TINH_NHAP,
od.MA_TRANG_THAI AS MA_TRANG_THAI,
od.TEN_TRANG_THAI AS TRANG_THAI,
od.MA_SAN_PHAM AS MA_HANG_HOA,
sp.TEN_SAN_PHAM AS TEN_HANG_HOA,
od.SO_LUONG_HANG_DG AS SO_KIEN_HANG,
od.KICH_THUOC AS TRONG_LUONG,
dvt.TEN_DON_VI AS DON_VI_TINH,
od.MA_LOAI_HANG AS MA_VU_VIEC,
od.DON_GIA AS DON_GIA,
(
CASE
WHEN od.SO_LUONG_CN IS NOT NULL THEN od.SO_LUONG_CN
ELSE od.SO_LUONG_HANG END
) AS SO_LUONG,
(
CASE
WHEN od.SO_LUONG_CN IS NOT NULL THEN od.SO_LUONG_CN
ELSE od.SO_LUONG_HANG END
) * od.DON_GIA AS GIA_TRI,
od.TG_XAC_NHAN AS THOI_GIAN_DUYET_DON_HANG,
od.NGAY_GUI_DON AS THOI_GIAN_XUAT_DON_HANG,
od.NGAY_NHAN_DON_HANG AS THOI_GIAN_NHAN_HANG_THUC_TE,
(
CASE
WHEN od.MA_LOAI_HANG = 1 THEN 'Xuất theo đơn' ELSE
'Xuất chủ động'
END
)AS HINH_THUC
FROM `xeca-bq-production-20102023.dwh.FCT_ORDER_DETAILS` AS od
JOIN `xeca-bq-production-20102023.dwh.D_SAN_PHAM` AS sp
ON sp.MA_SAN_PHAM = od.MA_SAN_PHAM
JOIN `xeca-bq-production-20102023.dwh.D_DON_VI_DG`AS dvt
ON dvt.MA_DON_VI = sp.MA_DVT
WHERE
od.MA_LOAI_HANG = 1
AND DATE(od.NGAY_TAO_DON) >= DATE('2023-08-15')
AND DATE(od.NGAY_TAO_DON) <= DATE('2023-09-15')

SELECT * FROM t1

You might also like