怎么把一张表中的某个字段的值,赋值到另一张表中的字段里面

时间:2022-11-13 14:44:36
在数据库中(oracle,mysql)    怎么把一张表中的某个字段的值,赋值到另一张表中的字段里面
就好像这样:
表一:

ID           Project
1             语文
2             数学
3            外语
..               ...
...            ....


表二:

Sid       name          语文     数学   外语
1           张三           99             99     99
...          ....               ....              ....           ....



4 个解决方案

#1


典型的行列转换~

#2


3个99从哪里来的? 对应表1的哪个字段呢?

#3


字段和建表语句都贴下吧,其实网上也有很多这样的例子。

#4


引用 3 楼 qq646748739 的回复:
字段和建表语句都贴下吧,其实网上也有很多这样的例子。


DROP TABLE IF EXISTS `assessment project`;
CREATE TABLE `assessment project` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Project` varchar(255) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of assessment project
-- ----------------------------
INSERT INTO `assessment project` VALUES ('1', '能力');
INSERT INTO `assessment project` VALUES ('2', '态度');
INSERT INTO `assessment project` VALUES ('3', '廉政');

这个是我第一张表的SQL,
我的字段,然后我想再建一张表,第二张表中的一部分字段是引用的第一张表里面Project的值,达到下面这张表的效果:

Sid   Sname 能力 态度  廉政

#1


典型的行列转换~

#2


3个99从哪里来的? 对应表1的哪个字段呢?

#3


字段和建表语句都贴下吧,其实网上也有很多这样的例子。

#4


引用 3 楼 qq646748739 的回复:
字段和建表语句都贴下吧,其实网上也有很多这样的例子。


DROP TABLE IF EXISTS `assessment project`;
CREATE TABLE `assessment project` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `Project` varchar(255) NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of assessment project
-- ----------------------------
INSERT INTO `assessment project` VALUES ('1', '能力');
INSERT INTO `assessment project` VALUES ('2', '态度');
INSERT INTO `assessment project` VALUES ('3', '廉政');

这个是我第一张表的SQL,
我的字段,然后我想再建一张表,第二张表中的一部分字段是引用的第一张表里面Project的值,达到下面这张表的效果:

Sid   Sname 能力 态度  廉政