Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
SM1206
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 3
1

Как можно записать сумму полей в другую таблицу?

03.12.2018, 15:42. Просмотров 402. Ответов 5

Есть 3 таблицы: КАФЕДРЫ, ПРЕПОДАВАТЕЛИ, ПРЕДМЕТЫ. В таблице ПРЕПОДАВАТЕЛИ есть поле Колов_часов, в которое нужно записывать сумму двух полей (Колов_лекций и Колво_практик) из таблицы ПРЕДМЕТ. Не подскажите, как это можно реализовать (можно использовать процедуры, функции, триггеры).?

MySQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE `КАФЕДРЫ` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Номер_кафедры` int(11) NOT NULL,
  `Назв_кафедры` varchar(100) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `Номер_кафедры` (`Номер_кафедры`),
  UNIQUE KEY `Назв_кафедры` (`Назв_кафедры`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
 
CREATE TABLE `ПРЕДМЕТЫ` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Назв_предмета` varchar(50) NOT NULL,
  `Колво_лекций` int(11) NOT NULL,
  `Колво_практик` int(11) NOT NULL,
  `Лабы` int(11) DEFAULT NULL,
  `ДЗ` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `Назв_предмета` (`Назв_предмета`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
 
CREATE TABLE `ПРЕПОДАВАТЕЛИ` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `ФИО` varchar(100) NOT NULL,
  `ID_предмета` int(11) NOT NULL,
  `ID_кафедры` int(11) NOT NULL,
  `Колво_часов` int(11) DEFAULT NULL,
  `Лекции` tinyint(1) NOT NULL,
  `Практики` tinyint(1) NOT NULL,
  `Дипломники` int(11) DEFAULT NULL,
  `Курсовики` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `ID_предмета` (`ID_предмета`),
  KEY `ID_кафедры` (`ID_кафедры`),
  CONSTRAINT `преподаватели_ibfk_1` FOREIGN KEY (`ID_предмета`) REFERENCES `ПРЕДМЕТЫ` (`ID`),
  CONSTRAINT `преподаватели_ibfk_2` FOREIGN KEY (`ID_кафедры`) REFERENCES `КАФЕДРЫ` (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2018, 15:42
Ответы с готовыми решениями:

Перенос полей из таблицы в другую таблицу
Доброго времени суток. Не могли бы вы помочь начинающему. Добавлено через 6 минут Доброго...

Дублирование полей в другую таблицу
Помогите пожалуйста разобраться с задачей, мне надо сделать так, чтобы из таблицы №1 в таблицу №2...

Дублирование полей таблицы в другую таблицу
Добрый день. Есть 2 таблицы с ФИО и огромными объемами инфы, разделенными на 2 таблицы по смыслу....

Как можно переместить всю строку в другую таблицу при помощи запроса
Как можно переместить всю строку в другую таблицу при помощи запроса зная значение одного поля? ...

Скопировать все строки из определенных полей одной таблицы в другую таблицу
Имеются 2 таблицы: ADOTable1 ADOTable6 Нужно скопировать все строки из полей AAA, BBB, CCC...

5
DimaxDe
56 / 42 / 16
Регистрация: 07.11.2018
Сообщений: 363
03.12.2018, 16:08 2
SQL
1
2
3
4
5
INSERT INTO ПРЕПОДАВАТЕЛИ(Колов_часов ) SELECT 
(SELECT Колво_лекций  FROM ПРЕДМЕТЫ JOIN ПРЕПОДАВАТЕЛИ ON ПРЕДМЕТЫ.ID=ПРЕПОДАВАТЕЛИ.ID_предмета)
+
(SELECT Колво_практик FROM ПРЕДМЕТЫ JOIN ПРЕПОДАВАТЕЛИ ON ПРЕДМЕТЫ.ID=ПРЕПОДАВАТЕЛИ.ID_предмета) AS total  
WHERE ПРЕПОДАВАТЕЛИ.ID=......;
1
SM1206
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 3
03.12.2018, 17:51  [ТС] 3
T-SQL
1
WHERE `ПРЕПОДАВАТЕЛИ`.`ID`
На этом участке ошибка: Unknown table 'ПРЕПОДАВАТЕЛИ' in where clause
0
DimaxDe
56 / 42 / 16
Регистрация: 07.11.2018
Сообщений: 363
03.12.2018, 18:21 4
а это должен быть инзерт или апдэйт?
0
SM1206
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 3
03.12.2018, 18:23  [ТС] 5
инзерт
0
DimaxDe
56 / 42 / 16
Регистрация: 07.11.2018
Сообщений: 363
03.12.2018, 18:39 6
в первых скобках инфу надо дополнить,а последний WHERE убрать

Добавлено через 7 минут
посмотрел по поиску вот такое нашол
SQL
1
2
INSERT INTO column_1 ( val_1, val_from_other_table ) 
VALUES('val_1', (SELECT  val_2 FROM table_2 WHERE val_2 = something))
попробуйте подставте в этот селект 2 своих
1
03.12.2018, 18:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2018, 18:39

Записать данные с запроса в другую таблицу
Есть запрос: $resp = mysql_query("select $metode, gruppa from experiment LEFT JOIN pechen...

как можно записать в матрицу значения в заданном порядке, если нельзя вводить другую матрицу
как можно записать в матрицу значения в этом порядке, если нельзя вводить другую матрицу uses crt;...

Не добавляет сумму в другую таблицу
Не получилось сделать через триггер, решил программным путем // обновляем данные суммы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru