SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 21.09.2011 16:15:37

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Прошу помочь составить запрос

Прошу помочь составить запрос для апдейта ALT-тэгов (wp_ngg_pictures `alttext`) и их description (wp_ngg_pictures `description`) изображений по названию их галереи (wp_ngg_gallery `name`).

Апдейтить нужно следующим образом: wp_ngg_gallery `name` имеет формат "blabla - blabla", т.е. разделитель тире. Так вот в description вставлять нужно содержимое `name` полностью, а в ALT-тэг только то что ДО тире. Если так сделать не получится то тоже полностью.

имеем 2 таблицы:

wp_ngg_gallery
CREATE TABLE `wp_ngg_gallery` (
  `gid` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `path` mediumtext,
  `title` mediumtext,
  `galdesc` mediumtext,
  `pageid` bigint(20) NOT NULL DEFAULT '0',
  `previewpic` bigint(20) NOT NULL DEFAULT '0',
  `author` bigint(20) NOT NULL DEFAULT '0',
  PRIMARY KEY (`gid`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

wp_ngg_pictures
CREATE TABLE `wp_ngg_pictures` (
  `pid` bigint(20) NOT NULL AUTO_INCREMENT,
  `post_id` bigint(20) NOT NULL DEFAULT '0',
  `galleryid` bigint(20) NOT NULL DEFAULT '0',
  `filename` varchar(255) NOT NULL,
  `description` mediumtext,
  `alttext` mediumtext,
  `imagedate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `exclude` tinyint(4) DEFAULT '0',
  `sortorder` bigint(20) NOT NULL DEFAULT '0',
  `meta_data` longtext,
  PRIMARY KEY (`pid`),
  KEY `post_id` (`post_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;


Спасибо!

Отредактированно Fader (21.09.2011 16:16:24)

Неактивен

 

#2 21.09.2011 16:38:23

Александр Трофимов
Завсегдатай
Откуда: Юрмала
Зарегистрирован: 19.09.2011
Сообщений: 95

Re: Прошу помочь составить запрос

UPDATE
    `wp_ngg_gallery` wng,
    `wp_ngg_pictures` wnp
SET
    wnp.`alttext` = SUBSTRING_INDEX(wng.`name`, ' - ', 1),
    wnp.`description` = wng.`name`
WHERE
    wnp.`galleryid`=wng.`gid`


Что-то вроде этого.

Неактивен

 

#3 21.09.2011 18:25:37

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Прошу помочь составить запрос

Супер, работает! smile

Парочку примочек можете добавить?

1. Сделать апдейт не всем галереям а
а) только с определенными gid(galleryid)
б) начиная с gid(galleryid) от X до Y.

2. Как в `description` добавлять инфу, сохраняя старую?


P.S. Дайте свой wm-кошелек - отблагодарю! smile

Неактивен

 

#4 21.09.2011 20:17:52

Александр Трофимов
Завсегдатай
Откуда: Юрмала
Зарегистрирован: 19.09.2011
Сообщений: 95

Re: Прошу помочь составить запрос

1. а)

UPDATE
    `wp_ngg_gallery` wng,
    `wp_ngg_pictures` wnp
SET
    wnp.`alttext` = SUBSTRING_INDEX(wng.`name`, ' - ', 1),
    wnp.`description` = wng.`name`
WHERE
    wnp.`galleryid`=wng.`gid`
    AND wng.`gid` IN (1,3,5,6) /*список ИДов категорий через запятую*/


1. б)
UPDATE
    `wp_ngg_gallery` wng,
    `wp_ngg_pictures` wnp
SET
    wnp.`alttext` = SUBSTRING_INDEX(wng.`name`, ' - ', 1),
    wnp.`description` = wng.`name`
WHERE
    wnp.`galleryid`=wng.`gid`
    AND wng.`gid` > 6 /*тоже самое, что >=5*/
    AND wng.`gid` < 12 /*тоже самое, чьл <=11*/


2.
UPDATE
    `wp_ngg_pictures` wnp
SET
    `description`=CONCAT(`description`,'дополнительное инфо')


ЗЫ. Не надо. +)

Неактивен

 

Board footer

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