Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Помогите с запросом на обновление. (Krondor) 04/05/2011 - 13:52:47
      Re: Помогите с запросом на обновление. (Akina) 04/05/2011 - 15:02:13
      Re: Помогите с запросом на обновление. (Krondor) 04/05/2011 - 15:14:52
      Re: Помогите с запросом на обновление. (Akina) 04/05/2011 - 17:23:13



From: Krondor - 04/05/2011 - 13:52:47
Subject:Помогите с запросом на обновление.
-----------------
Господа. прощу помощи.
есть база данных инет-магазина автозапчастей. в ней есть три таблицы.
fw_items - в ней находится информация по деталям. каждая деталь принадлежит одному конкретному каталогу. (id, название, каталожный номер, id каталога, прочее)
fw_matches - в ней находится соответствие названия и ID каталога. (cat_name, cat_id)
pricelist - прайс-лист поставщика, в котором находится информация по деталям и ценам. (поле brend содержит название каталога, к которому принадлежит деталь)
мне нужно из таблички pricelist забрать все детали, которых нет в табличке fw_items.
у меня получилось пока что составить вот такой запрос:
INSERT INTO fw_items (`name`, `number`, `catalogue_id`, `alternative`)
SELECT fr.name, fr.number, m.cat_id, fr.altcode
FROM pricelist fr
LEFT JOIN fw_matches AS m ON (m.cat_name=fr.brend)
LEFT JOIN fw_items AS i ON (i.number=fr.number and i.catalogue_id=m.cat_id)
WHERE (NOT EXISTS (
SELECT a.item_id
FROM fw_items a
WHERE a.item_id=i.item_id))
AND (m.cat_name=fr.brend)
но при использовании такого запроса периодически появляются дубликаты уже имеющихся в таблице деталей.
подскажите пожалуйста, как можно модифицировать запрос, чтобы дубликатов не возникало и детали загружались корректно?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38394



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |