Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Можно ли SQL запросом выполнить условие? Ну или 2-3 мя


Recommended Posts

Есть 2 таблицы

`oc_product_attribute` (
`product_id` int(11) NOT NULL,
`attribute_id` int(11) NOT NULL,
`language_id` int(11) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`product_id`,`attribute_id`,`language_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AVG_ROW_LENGTH=22;

и

oc_product_description` (
`product_id` int(11) NOT NULL AUTO_INCREMENT,
`language_id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,

Возможно ли выполнить условия следующее: Если в таблице oc_product_description в столбце name есть определенны словосочетания типа Toyota, то в таблицу oc_product_attribute из oc_product_description нужно скопировать соответствующие поля product_id, language_id, а для полей attribute_id и text значения ввести самостоятельно. Я думаю всем понятно зачем это нужно. По идее не плохой модуль можно сделать, который массово будет атрибуты проставлять для ленивых.

Надіслати
Поділитися на інших сайтах


http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_if Змінено користувачем sv2109
Надіслати
Поділитися на інших сайтах

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

Надіслати
Поділитися на інших сайтах


Ну я например знаю как сделать вот этот кусок запросом

в таблицу oc_product_attribute из oc_product_description нужно скопировать соответствующие поля product_id, language_id

insert into oc_product_attribute (product_id, language_id) select product_id, language_id from oc_product_description where name like '%Toyota%';
скопирует значения (product_id, language_id) из oc_product_description в oc_product_attribute.
Надіслати
Поділитися на інших сайтах


Petr, задачу довольно сложно решать, если не знать что у вас еще на уме. А сделать это только средствами SQL вообще головоломка.

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

Аттрибуты хранятся в пяти таблицах, а не в одной. И все таблицы между собой связаны внешними ключами.

Вот сделали мы

INSERT INTO oc_product_attribute SET product_id='число1', language_id='1', text='Тойота'

Даже если индекс на трех колонках нам позволит создать такую запись, поле atribute_id у нас будет 0.

Ну и что за значение атрибута продукта, которое не привязано к самому атрибуту, который хранится в таблице oc_attribute.

Смотрите вот мы создали атрибуты, каждому присвоился свой id, и мы эти id знаем. в ос по крайней мере я нашел только одну таблицу которая в итоге отвечает за привязки атрибутов к товару это oc_product_attribute, в это таблице всего 4 столбца 2 из них product_id, language_id можно проставить автоматом. А оставшиеся attribute_id это просто ссылка на атрибут id которого нам известно т.к. мы его создали. Ну и поле text я так понял это просто поле которое пользователь вводит сам.

Надіслати
Поділитися на інших сайтах


Ну да, спасибо буду пробовать но вы подумайте какой спрос на модули такого формата на сайте opencart.com. Абсолютно все "Batch или Mass или Bulk" модули имеют большой спрос 100+ скачиваний это как минимум при стоимости от 25 до 50 $. Почему бы и не заработать :-)

Надіслати
Поділитися на інших сайтах


Простите за оффтоп. Купил магнитолу в машину, поехал ставить, машина на гарантии, самому ставить нельзя. Подсоединение двух проводков 1000р. Надо завязывать с программированием, буду магнитолы ставить :-)

Простите за оффтоп :-) Ну на самом деле такая философия может расширить кругозор, чем больше поворотов в жизни тем она интереснее, может быть магнитолы на самом деле призвание, я лично видел как бодибилдеры в 40 лет иконы писать начинали. :-D

p/s причем правша иконы рисовал левой рукой т.к. правой не мог

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.