Mình viết câu lệnh SQLike nhưng khi chay dư liệu không chạy được phiền nhóm hương dẫnWITH RECURSIVE SplitCTE AS (
-- Anchor member: select the first value from the string
SELECT
ID_CP,MA_CSKCB,KY_QT, XML1_ID, MA_BN, HO_TEN, NGAY_SINH, GIOI_TINH, MA_THE, NGAY_VAO, NGAY_RA, MA_LYDO_VVIEN, SO_NGAY_DTRI, MA_BENH, TEN_BENH, MA_BENHKHAC, MA_LOAI_KCB, MA_NHOM, MA_CP, TEN_CP, SO_LUONG, SO_LUONG_BV, DON_GIA, DON_GIA_BV, TYLE_TT, THANH_TIEN, MUC_HUONG_DTL, T_BHTT_DTL, T_BNCCT_DTL, NGAY_YL, NGAY_KQ, MA_KHOA, MA_KHOA_XML1, MA_BAC_SI, MA_LK,
CASE
WHEN INSTR(MA_BAC_SI, ';') > 0
THEN SUBSTR(MA_BAC_SI, 1, INSTR(MA_BAC_SI, ';') - 1)
ELSE MA_BAC_SI
END AS address,
CASE
WHEN INSTR(MA_BAC_SI, ';') > 0
THEN SUBSTR(MA_BAC_SI, INSTR(MA_BAC_SI, ';') + 1)
ELSE ''
END AS remaining_address
FROM
xml123
UNION ALL
-- Recursive member: continue splitting the remaining string
SELECT
ID_CP,MA_CSKCB,KY_QT, XML1_ID, MA_BN, HO_TEN, NGAY_SINH, GIOI_TINH, MA_THE, NGAY_VAO, NGAY_RA, MA_LYDO_VVIEN, SO_NGAY_DTRI, MA_BENH, TEN_BENH, MA_BENHKHAC, MA_LOAI_KCB, MA_NHOM, MA_CP, TEN_CP, SO_LUONG, SO_LUONG_BV, DON_GIA, DON_GIA_BV, TYLE_TT, THANH_TIEN, MUC_HUONG_DTL, T_BHTT_DTL, T_BNCCT_DTL, NGAY_YL, NGAY_KQ, MA_KHOA, MA_KHOA_XML1, MA_BAC_SI, MA_LK,
CASE
WHEN INSTR(remaining_address, ';') > 0
THEN SUBSTR(remaining_address, 1, INSTR(remaining_address, ';') - 1)
ELSE remaining_address
END AS address,
CASE
WHEN INSTR(remaining_address, ';') > 0
THEN SUBSTR(remaining_address, INSTR(remaining_address, ';') + 1)
ELSE ''
END AS remaining_address
FROM
SplitCTE
WHERE
remaining_address <> ''
)
select * from bangtam A
inner JOIN
(SELECT address AS MA_BAC_SIS, ID_CP,MA_CSKCB,KY_QT, XML1_ID, MA_BN, HO_TEN, NGAY_SINH, GIOI_TINH, MA_THE, NGAY_VAO, NGAY_RA, MA_LYDO_VVIEN, SO_NGAY_DTRI, MA_BENH, TEN_BENH, MA_BENHKHAC, MA_LOAI_KCB, MA_NHOM, MA_CP, TEN_CP, SO_LUONG, SO_LUONG_BV, DON_GIA, DON_GIA_BV, TYLE_TT, THANH_TIEN, MUC_HUONG_DTL, T_BHTT_DTL, T_BNCCT_DTL, NGAY_YL, NGAY_KQ, MA_KHOA, MA_KHOA_XML1, MA_BAC_SI, MA_LK
FROM SplitCTE) B
ON A.MA_BAC_SI = B.MA_BAC_SIS
where DATE(B.NGAY_YL) = DATE(A.NGAY_YL) AND B.MA_CSKCB !='31336'
Dạ vâng Anh/Chị cho Gitiho hỏi là lỗi hiển thị ra là gì đó ạ?