• Đồng Bộ hai table
  • Đồng Bộ hai table

    Noname > 26-08-10, 08:43 PM

    Hỏi: Tôi có 2 table có cấu trúc gần giống nhau. Tuy nhiên có khác biệt 1 ít về dữ liệu. Xin hướng dẫn đồng bộ table1 sang table 2.
    Ví dụ: table1( Maso, ten). Table2(maso, ten, diachi, ...)
    Tôi muốn
    1/Thêm maso,ten từ table 1 sang table nếu trong table 2 thiếu.
    2/Update lại tên nếu cùng 1 mã số nhưng tên table1 khác trong table 2
    3/ xóa những recode trong table2 không có mã trong table1

    Đáp run các query sau:

    1/Thêm maso,ten từ table 1 sang table nếu trong table 2 thiếu

    Mã:
    INSERT INTO Table2 ( Maso, TEN )
        SELECT Table1.Maso, Table1.Ten
        FROM Table1
        WHERE (((Table1.Maso) Not In (select maso from table2)));

    2/Update lại tên nếu cùng 1 mã số nhưng tên table1 khác trong table 2

    Mã:
    UPDATE Table1 INNER JOIN Table2 ON Table1.Maso = Table2.Maso SET Table2.TEN = table1.ten
        WHERE (((Table2.TEN)<>[table1].[ten]));
    3/ xóa những recode trong table2 không có mã trong table1

    Mã:
    DELETE Table2.*
        FROM Table2
        WHERE (((Table2.Maso) Not In (select maso from table1)));

    DownLoaddemo
  • RE: Đồng Bộ hai table

    yamakashi2003 > 09-09-20, 08:38 PM

    (26-08-10, 08:43 PM)Noname Đã viết: Hỏi: Tôi có 2 table có cấu trúc gần giống nhau. Tuy nhiên có khác biệt 1 ít về dữ liệu. Xin hướng dẫn đồng bộ table1 sang table 2.
    Ví dụ: table1( Maso, ten). Table2(maso, ten, diachi, ...)

        SELECT Table1.Maso, Table1.Ten
        FROM Table1
        WHERE (((Table1.Maso) Not In (select maso from table2)))

    Bác ơi câu lệnh này có phải chỉ áp ụng với 1 điều kiện: record có maso không có trong table 2 phải không ạ
    Vậy em muốn sửa câu lệnh cho áp dụng với record mà cả maso và TEN không có trong table2 thì làm như thế nào ạ,
    Em xin cảm ơn
  • RE: Đồng Bộ hai table

    Nguyen SVN > 09-09-20, 09:07 PM

    BẠN CÓ THỂ THAM KHẢO CÂU LỆNH SAU CỦA MÌNH 

    ①TÌM TẤT CẢ DANH SÁCH NHƯNG NGƯỜI Ở BẢNG SỐ 1 MÀ KO CÓ TRONG BẢNG 2
    RỒI SAU ĐÓ INSERT VÀO BẢNG 2

    INSERT INTO table2(Maso, ten)

    SELECT Maso, ten
    FROM table1
    WHERE NOT EXISTS 
    (
    SELECT Maso, ten
    FROM table2
    WHERE table2.Maso = table1.Maso AND table2.ten = table1.ten
    )