|
|
|
| Пожалуйста помогите составить запрос
есть две таблицы vtiger_crmentity и vtiger_accountshipads.
Структура vtiger_crmentity :
crmid` int(19) NOT NULL default '0',
`smcreatorid ` int(19) NOT NULL default '0',
`smownerid` int(19) NOT NULL default '0',
структура vtiger_accountshipads:
`accountaddressid` int(19) NOT NULL default '0',
`ship_state` varchar(30) default NULL,
Необходимо присвоить всем значением поля smownerid значение 1122 , где ship_state таблицы vtiger_accountshipads например Киевская область.
во второй хранится информация id ship_state
Mysql знаю мало ((, вот мои потуги :
select * from vtiger_crmentity join vtiger_accountshipads on vtiger_crmentity.crmid=vtiger_accountshipads.accountaddressid where vtiger_accountshipads.ship_state LIKE '%Киевская%';)
UPDATE vtiger_crmentity SET vtiger_crmentity.smcreatorid = 1122 а что дальше? | |
|
|
|
|
|
|
|
для: TAURUS1982
(26.09.2007 в 18:30)
| | Что-то Вы перемудрили.
UPDATE vtiger_crmentity AS с JOIN vtiger_accountshipads AS a
ON c.crmid = a.accountaddressid
WHERE
a.ship_state LIKE '%Киевская%'
SET c.smcreatorid = 1122
|
| |
|
|
|
|
|
|
|
для: Trianon
(26.09.2007 в 20:47)
| | Спасибо за участие :)
после выполнения запроса получил ошибку
Возможно у Вас ошибка в SQL-парсере. Пожалуйста, проверьте внимательно Ваш запрос и соответствие кавычек. Возможно также, что Вы пытаетесь закачать бинарный файл вне поля quoted text area. Вы можете попробовать выполнить свой запрос через интерфейс командной строки MySQL. Описание ошибки MySQL сервера дано ниже, возможно оно поможет понять, что же произошло. Если у Вас все равно возникают проблемы или если парсер выдает ошибки там, где интерфейс командной строки работает успешно, попробуйте изменить свой SQL запрос до простых запросов и определить, какой именно вызывает проблемы. Вы можете также прислать отчет об ошибке вместе с блоком данных (секция CUT):
----BEGIN CUT----
eNo1zkFugkAUBuD9nOJfaNzoyEy0FZIuiJ0 orQIF1KWhQJVEkTKjqUtP0H1P0TRp0vQUeK OCbbfv
fe//n/A8xzMwZBhyTIRtgA/AdbABJ35QbU6EDOe+gYYVG5DPmzwsZFLQTfpI83XePoBTfg2uab0 u
Y12tD00zeszo97FJtjrES44GmR79h4mBPtU o0zuZ6mx2KzLzPTh+G+ZI2EEbc1G1LdIMjis8Ezrl
GnGnZvUQvaKMuGO3Jm3Hr3MY5VhYth2QiWm PDBT7zl49dQbk0jNzb81A4KDSVVIso2KbZC pVR5g+
zifcOZb9vwujaLfPlFyneRjLGoQAAeDYiGh 1mca4QUj/XBjHRSJlNazMYiw88asrUUcspQpVgol1
L9Bqlm/lV/lZfpxP5Xf5fn5ttkB8EdS8ypbbqEhCtSsuD Yxx/gMkknUA
----END CUT----
----BEGIN RAW----
ERROR: C1 C2 LEN: 28 29 182
STR: �
CVS: $Id: sqlparser.lib.php,v 2.27 2004/11/05 00:41:55 lem9 Exp $
MySQL: 5.0.19-nt-log
USR OS, AGENT, VER: Win OPERA 9.20
PMA: 2.6.1
PHP VER,OS: 5.1.2 WINNT
LANG: ru-utf-8
SQL: UPDATE vtiger_crmentity AS с JOIN vtiger_accountshipads AS a
ON c.crmid = a.accountaddressid
WHERE
a.ship_state LIKE '%Киевская%'
SET c.smcreatorid = 1122
----END RAW----
SQL-запрос:
UPDATE vtiger_crmentity AS с JOIN vtiger_accountshipads AS a ON c.crmid = a.accountaddressid WHERE a.ship_state LIKE '%Киевская%' SET c.smcreatorid = 1122
Ответ MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
a.ship_state LIKE '%Киевская%'
SET c.smcreatorid = 11' at line 3 | |
|
|
|
|
|
|
|
для: TAURUS1982
(27.09.2007 в 12:23)
| | Сделаете так :
UPDATE (SELECT *
FROM vtiger_crmentity c JOIN vtiger_accountshipads a
ON c.crmid = a.accountaddressid
WHERE a.ship_state LIKE '%Киевская%') t
SET t.smcreatorid = 1122;
|
| |
|
|
|
|
|
|
|
для: oradev
(27.09.2007 в 13:33)
| | Попробовал. выдает ошибку :(
#1288 - The target table t of the UPDATE is not updatable
вот полная структура этих таблиц, может она внесет ясности
CREATE TABLE `vtiger_accountshipads` (
`accountaddressid` int(19) NOT NULL default '0',
`ship_city` varchar(30) default NULL,
`ship_code` varchar(30) default NULL,
`ship_country` varchar(30) default NULL,
`ship_state` varchar(30) default NULL,
`ship_pobox` varchar(30) default NULL,
`ship_street` varchar(250) default NULL,
PRIMARY KEY (`accountaddressid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `vtiger_accountshipads` VALUES (147, 'Киев', NULL, 'Украина', 'Киевская обл.', NULL, 'г.Киев, ул.Северная,36');
INSERT INTO `vtiger_accountshipads` VALUES (3, 'Николаев', NULL, 'Украина', 'Николаевская обл.', NULL, 'г. Николаев, ул. Олейника ');
CREATE TABLE `vtiger_crmentity` (
`crmid` int(19) NOT NULL default '0',
`smcreatorid` int(19) NOT NULL default '0',
`smownerid` int(19) NOT NULL default '0',
`modifiedby` int(19) NOT NULL default '0',
`setype` varchar(30) NOT NULL default '',
`description` text,
`createdtime` datetime NOT NULL default '0000-00-00 00:00:00',
`modifiedtime` datetime NOT NULL default '0000-00-00 00:00:00',
`viewedtime` datetime default NULL,
`status` varchar(50) default NULL,
`version` int(19) NOT NULL default '0',
`presence` int(1) default '1',
`deleted` int(1) NOT NULL default '0',
PRIMARY KEY (`crmid`),
KEY `crmentity_smcreatorid_idx` (`smcreatorid`),
KEY `crmentity_smownerid_idx` (`smownerid`),
KEY `crmentity_modifiedby_idx` (`modifiedby`),
KEY `crmentity_deleted_smownerid_idx` (`deleted`,`smownerid`),
KEY `crmentity_smownerid_deleted_idx` (`smownerid`,`deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `vtiger_crmentity` VALUES (2, 1, 1122, 1122, 'Accounts', '', '2007-08-01 10:29:32', '2007-08-22 17:31:14', NULL, NULL, 0, 1, 0);
INSERT INTO `vtiger_crmentity` VALUES (3, 1, 1, 0, 'Accounts', '', '2007-08-01 10:29:32', '2007-08-01 10:29:32', NULL, NULL, 0, 1, 0);
|
| |
|
|
|
|
|
|
|
для: TAURUS1982
(27.09.2007 в 14:02)
| | Перепробовал различные варианты. ничего не получается :( | |
|
|
|
|
|
|
|
для: TAURUS1982
(27.09.2007 в 14:02)
| | Перепробовал различные варианты, не работает :( | |
|
|
|
|
|
|
|
для: TAURUS1982
(28.09.2007 в 10:22)
| | Запрос составленный Trianon'om, на созданных таблицах указанных вами, выполнился без всяких проблем. | |
|
|
|
|