SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.08.2014 11:49:20

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

есть 2 таблицы, с разными полями нужно чтобы таблица 2 сравнила свое поле  ordernumber  с полем kzaj таблицы  1, поле lotnumber c полем kprt, ну и в идеале еще поле heat с полем plavka,  и потом в таблицу 1 в строку с совпавшими данными добавило еще 1 поле с значением которое соответствует полю pressureact таблицы 2
http://i67.fastpic.ru/big/2014/0801/0e/63e73f571400491ef0648fcd98dedb0e.jpg http://i65.fastpic.ru/big/2014/0801/9e/1cf702d9b270f9a846f235f01298f59e.jpg

Отредактированно Vidmakltd (01.08.2014 11:59:05)

Неактивен

 

#2 01.08.2014 11:59:27

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

посмотрите синтаксис апдейта нескольких таблиц http://dev.mysql.com/doc/refman/5.5/en/update.html

есть связь между таблицами или нужно чтобы строка из первой сравнивалась со всей таблицей? Если втрое, то что делать в случае нескольких соответствий?

Неактивен

 

#3 01.08.2014 12:06:22

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

со всей таблицей совпадение должно быть по 3 полям, они должны совпасть, если будет несколько совпадений то во все совпадение чтобы добавилось поле pressureact соответствующие этому совпадению.

Отредактированно Vidmakltd (01.08.2014 12:07:00)

Неактивен

 

#4 01.08.2014 12:12:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

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

Неактивен

 

#5 01.08.2014 12:20:14

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

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

Неактивен

 

#6 01.08.2014 12:33:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

UPDATE `таблица 1`,`таблица 2` SET `таблица 1`.`еще 1 поле`=`таблица 2`.pressureact
WHERE `таблица 1`.kzaj =`таблица 2`.ordernumber AND `таблица 1`.kprt =`таблица 2`.lotnumber AND `таблица 1`.plavka =`таблица 2`.plavka;

П.С. `еще 1 поле` должно существовать до выполнения запроса.

Неактивен

 

#7 01.08.2014 13:18:34

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

Спасибо большое

Неактивен

 

#8 01.08.2014 13:56:27

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

А если таблица 1 находится в базе 1 а таблица два в базе 2 просто выдало вот такую ошибку:1 queries executed, 0 success, 1 errors, 0 warnings

Query: UPDATE `work.wifi_ceh2`,`tpc2.hydro_testing` SET `work.wifi_ceh2`.`pressureact`=`tpc2.hydro_testing`.pressureact WHERE `work.wif...

Error Code: 1146
Table 'tpc2.work.wifi_ceh2' doesn't exist

Execution Time : 0 sec
Transfer Time  : 0 sec
Total Time     : 0 sec

Неактивен

 

#9 01.08.2014 13:58:16

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

`имя базы`.`имя таблицы`.`имя поля`

Неактивен

 

#10 01.08.2014 14:15:41

Vidmakltd
Участник
Зарегистрирован: 30.07.2014
Сообщений: 9

Re: сравнение двух таблиц и добавление еще 1 поля с данными в 1 из таблиц

а я насколько понял что он проматерился что такой таблицы не найдено. просто причем ту вот эта таблица если ее даже физически не существует: Table 'work.work.wifi_ceh2' doesn't exist

просто одна таблица находится в базе tpc2, вторая в базе work. может проблема в этом? по полям вроде все правильно находится новое поле в таблицу в которую нужно добавить данные сделал теоретически он сейчас должен сравнить и залить данные но чет не хочет (


все разобрался убрал кавычки все заработало

Отредактированно Vidmakltd (01.08.2014 14:51:13)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson