• 0366 997 840
  • namdong92@gmail.com

Mysql Chuyển Hàng Thành Cột


Bạn khi bạn muốn làm phần mêm nhưng chưa biết tất cả các thuộc tính mà mình muốn lưu xuống database, cũng không muốn sửa database.

vd: thông tin người dùng ở đây ta sẽ thiết kế các thuộc tinh chính thường dùng tới.

Còn nhiều thuộc tính khác khi làm thêm các chức năng thì phát sinh thêm.

ở đây tôi thiết kế 1 bảng user chứa thông tin cơ bản. và users_infor chưa các thông tin bổ sung cho bảng user

thể hiển thông thông tin bổ sung thành các cột.

 
 
CREATE TABLE IF NOT EXISTS `lap1_users` (
  `Id` varchar(50) NOT NULL,
  `Name` text NOT NULL,
  `Username` varchar(50) NOT NULL,
  `Email` text NOT NULL,
  `Password` varchar(250) NOT NULL,
  `KeyPassword` varchar(50) NOT NULL,
  `BOD` date DEFAULT NULL,
  `Status` tinyint(4) DEFAULT NULL,
  `Active` tinyint(4) DEFAULT NULL,
  `DateCreate` datetime DEFAULT CURRENT_TIMESTAMP,
  `TokenReset` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
CREATE TABLE IF NOT EXISTS `lap1_users_infor` (
  `Id` varchar(50) CHARACTER SET utf8 NOT NULL,
  `IdUser` varchar(50) CHARACTER SET utf8 NOT NULL,
  `Keyword` varchar(50) CHARACTER SET utf8 NOT NULL,
  `Val` text CHARACTER SET utf8,
  `CreateDate` datetime NOT NULL,
  `UpdateDate` datetime NOT NULL,
  `isDelete` int(11) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_german2_ci;
 
SELECT b.*,
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'CCCD' AND IdUser = a.IdUser) as CCCD,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'CMND' AND IdUser = a.IdUser) as CMND,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'GioiTinh' AND IdUser = a.IdUser) as GioiTinh,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'HinhNhanVien' AND IdUser = a.IdUser) as HinhNhanVien,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'HoChieu' AND IdUser = a.IdUser) as HoChieu,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'HopDong' AND IdUser = a.IdUser) as HopDong,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'MaNhanVien' AND IdUser = a.IdUser) as MaNhanVien,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'MucLuong' AND IdUser = a.IdUser) as MucLuong,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'NgayKyHopDong' AND IdUser = a.IdUser) as NgayKyHopDong,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'NgayNghiViec' AND IdUser = a.IdUser) as NgayNghiViec,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'NgayVaoLam' AND IdUser = a.IdUser) as NgayVaoLam,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'Phone' AND IdUser = a.IdUser) as Phone,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'CongTy' AND IdUser = a.IdUser) as CongTy,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'SoHopDong' AND IdUser = a.IdUser) as SoHopDong,  
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'ThoiHangHopDong' AND IdUser = a.IdUser) as ThoiHangHopDong,
 (SELECT `Val` FROM `lap1_users_infor` as a1
WHERE Keyword = 'TinhTrangHD' AND IdUser = a.IdUser) as TinhTrangHD
FROM `lap1_users_infor` as a ,`lap1_users` as b
WHERE a.IdUser = b.Id
group by a.IdUser;

Bài Liên Quan


Danh Mục

Bài Viết Mới Nhất