Thao tác cơ sở dữ liệu SQL thực tiễn

Ngày 11.10

Truy vấn dữ liệu

SELECT ho_ten FROM sinh_vien WHERE ho_ten LIKE 'Nguyen%';
SELECT ho_ten FROM sinh_vien WHERE ho_ten LIKE '%Nguyen%';
SELECT ho_ten FROM sinh_vien WHERE ho_ten LIKE '%Nguyen';
SELECT COUNT(*) FROM sinh_vien WHERE ho_ten LIKE 'Tran%';

Cập nhật thông tin đơn hàng

Yêu cầu cập nhật mã đơn hàng bên ngoài cho đơn hàng có ID là 8673 trong bảng ReturnFactoryOrder.

UPDATE DonTraHang
SET ma_don_ngoai = 'RQ2312110001'
WHERE id = 8673;

Liên kết bảng để truy vấn

Thực hiện liên kết giữa bảng DonTraHang và BangXuLy với điều kiện entityId từ BangXuLy bằng với id của DonTraHang tại id = 8673.

SELECT *
FROM DonTraHang dth
INNER JOIN BangXuLy bxly 
ON dth.id = bxly.entityId
WHERE dth.id = 8673;

Chèn bản ghi mới

Thêm một dòng vào BangXuLy dựa trên thông tin từ DonTraHang có id = 8673.

INSERT INTO BangXuLy (entityId, loai_hang_doi, da_xu_ly, da_xoa, thoi_gian_tao, thoi_gian_cap_nhat, ma_bam)
SELECT id, 'DONBANHANG', 1, 1, NOW(), NOW(), ma_don_ngoai
FROM DonTraHang
WHERE id = 8673;

Cập nhật trạng thái xử lý

Cập nhật trường isProcessed thành 1 trong BangXuLy khi loại đơn hàng trong DonTraHang là 3.

UPDATE BangXuLy bxly
INNER JOIN DonTraHang dth ON bxly.entityId = dth.id
SET bxly.da_xu_ly = 1
WHERE dth.loai = 3;

Xóa dữ liệu

Xoá các bản ghi trong BangXuLy nếu loại đơn hàng trong DonTraHang tương ứng là 3.

DELETE bxly
FROM BangXuLy bxly
INNER JOIN DonTraHang dth ON bxly.entityId = dth.id
WHERE dth.loai = 3;

Truy vấn nâng cao

Lấy danh sách ID đơn đặt hàng từ bảng DeXuatMuaHang mà thuộc về kho có hệ thống quản lý là 'Cainiao Bonded Warehouse' (mã số 19).

SELECT dxmh.id
FROM DeXuatMuaHang dxmh
INNER JOIN Kho kh ON dxmh.ma_kho = kh.khoa_ma
WHERE kh.he_thong_kho = 19;

Ngày 11.22

Bảng đích: ChiTietThanhToan
Bảng nguồn: DonBanHang, TbDonBanHang

Mối quan hệ: DonBanHang.platformOrderId = TbDonBanHang.tradeMainOrderId

Danh sách các platformOrderId cần xử lý:

  • 2327283913994508468
  • 2327283913999508468
  • 2327289349003508468
  • 2327750870859542278
  • 2328193057128542278
  • 2332056867404525450
  • 2332429034420003966
  • 2332845373132619491
  • 2333804008129003966
  • 2334327458183025789
  • 4079943642725772839

Các giá trị sẽ chèn vào ChiTietThanhToan:

Trường Nguồn dữ liệu
phuong_thuc_thanh_toan 1
tai_khoan_thanh_toan DonBanHang.platformCustomerId
so_tien_thanh_toan DonBanHang.grandTotal
ma_don_nguon TbDonBanHang.id
bang_nguon 'TBSALESORDER'
thoi_gian_tao NOW()
thoi_gian_cap_nhat NOW()
don_ban_hang_id DonBanHang.id
INSERT INTO ChiTietThanhToan (
    phuong_thuc_thanh_toan,
    tai_khoan_thanh_toan,
    so_tien_thanh_toan,
    ma_don_nguon,
    bang_nguon,
    thoi_gian_tao,
    thoi_gian_cap_nhat,
    don_ban_hang_id
)
SELECT 
    1,
    dbh.platformCustomerId,
    dbh.grandTotal,
    tdbh.id,
    'TBSALESORDER',
    NOW(),
    NOW(),
    dbh.id
FROM DonBanHang dbh
JOIN TbDonBanHang tdbh ON dbh.platformOrderId = tdbh.tradeMainOrderId
WHERE dbh.platformOrderId IN (
    '2327283913994508468',
    '2327283913999508468',
    '2327289349003508468',
    '2327750870859542278',
    '2328193057128542278',
    '2332056867404525450',
    '2332429034420003966',
    '2332845373132619491',
    '2333804008129003966',
    '2334327458183025789',
    '4079943642725772839'
);

Thẻ: sql Database query UPDATE INSERT

Đăng vào ngày 8 tháng 10 lúc 23:18