|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
38394
|
|