Update with subselect – MySQL
Ada satu kes di mana kita perlu update field ‘pic’ kepada nama fail gambar mungkin staffid.jpg. Arrgh takkan nak update satu persatu. Anyway ada satu cara yang boleh digunakan.
Langkah2nya;
1. Create lagi satu table sama seperti table asal beserta data
2. Cuba SQL di bawah.
MySQL
UPDATE tbl1 SET tbl1.pic = (select CONCAT(tbl1_temp.staffID,'.jpg') FROM tbl1_temp where tbl1.staffID = tbl1_temp.staffID) WHERE tbl1.staffID = tbl1.staffID
Field pic pada table tbl1 akan dikemaskini dengan staffid.jpg (dengan menggunakan fungsi concat) yang diperolehi daripada table tbl1_temp. OK, Sekiranya anda menggunakan pangkalan data lain, SQL di bawah boleh digunakan.
Oracle
UPDATE tbl1 SET tbl1.pic = (select tbl1_temp.staffID || '.jpg' FROM tbl1_temp where tbl1.staffID = tbl1_temp.staffID) WHERE tbl1.staffID = tbl1.staffID
Sql Server
UPDATE tbl1 SET tbl1.pic = (select tbl1_temp.staffID + '.jpg') FROM tbl1_temp where tbl1.staffID = tbl1_temp.staffID) WHERE tbl1.staffID = tbl1.staffID
Mungkin ada cara-cara lain… Harap kawan2 boleh kongsi…
Selamat mencuba
4 comments