Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Удаление дублей по Типу товар1/товар1 ! Помощь


Guest
 Share

Recommended Posts

Каким запросом в базу можно удалить дубли допустим из категории Платья ХЛ?

Link to comment
Share on other sites

Видел такой код

DELETE t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15 FROM product t1
LEFT JOIN product_attribute t2 ON(t1.product_id=t2.product_id)
LEFT JOIN product_description t3 ON(t1.product_id=t3.product_id)
LEFT JOIN product_discount t4 ON(t1.product_id=t4.product_id)
LEFT JOIN product_image t5 ON(t1.product_id=t5.product_id)
LEFT JOIN product_option t6 ON(t1.product_id=t6.product_id)
LEFT JOIN product_option_value t7 ON(t1.product_id=t7.product_id)
LEFT JOIN product_related t8 ON(t1.product_id=t8.product_id)
LEFT JOIN product_reward t9 ON(t1.product_id=t9.product_id)
LEFT JOIN product_special t10 ON(t1.product_id=t10.product_id)
LEFT JOIN product_to_category t11 ON(t1.product_id=t11.product_id)
LEFT JOIN product_to_download t12 ON(t1.product_id=t12.product_id)
LEFT JOIN product_to_layout t13 ON(t1.product_id=t13.product_id)
LEFT JOIN product_to_store t14 ON(t1.product_id=t14.product_id)
LEFT JOIN review t15 ON(t1.product_id=t15.product_id)
WHERE t1.product_id
IN(SELECT pd1.product_id
from product_description pd1, product_description pd2
where pd1.name = pd2.name
and pd1.product_id > pd2.product_id)

Но как его адаптировать под себя я не понял. 

Link to comment
Share on other sites

5 минут назад, chukcha сказал:

а что неясно?
 

Не сильно разбираюсь куда что надо мое вписывать. И будет ли это работать на версии 3.0.2.0

Link to comment
Share on other sites

Нашел такое решение как найти в базе дубликаты. Но как сделать так что бы удалить их при этом? Решения пока не нашел.. 

SELECT * FROM `oc_product` WHERE CONCAT( `oc_product`.`model` ) IN ( SELECT CONCAT( `oc_product`.`model` ) AS x FROM `oc_product` GROUP BY x HAVING COUNT( x ) >1 ) LIMIT 0 , 30

 

Link to comment
Share on other sites

Только что, chukcha сказал:

А чем вам не нравится запрос из второго поста?

Не знаю куда вписывать там то что мне нужно..

 

Link to comment
Share on other sites

2 минуты назад, chukcha сказал:

Иногда быстрее сделать все руками в админке, чем искать нужный запрос, тем более, если не понимаешь как это работает.

 

Нужно банально удалить дубликаты товаров ( одинаковые ) в общем проредить дубликаты новостей по графе model от дубликатов 

Link to comment
Share on other sites

11 минут назад, lexxkrt сказал:

никуда вставлять не надо, выполнить запрос в ручную в phpmyadmin, либо mysql-workbench

надо просто правильно написать запрос проверки дублей.

Здесь

SELECT pd1.product_id
from product_description pd1, product_description pd2
where pd1.name = pd2.name
and pd1.product_id > pd2.product_id)

по имени
 а надо по модели

SELECT p1.product_id
from product p1, product p2
where p1.model = p2.model
and pd1.product_id > pd2.product_id)

 

Link to comment
Share on other sites

23 минуты назад, chukcha сказал:

надо просто правильно написать запрос проверки дублей.

Здесь

SELECT pd1.product_id
from product_description pd1, product_description pd2
where pd1.name = pd2.name
and pd1.product_id > pd2.product_id)

по имени
 а надо по модели

SELECT p1.product_id
from product p1, product p2
where p1.model = p2.model
and pd1.product_id > pd2.product_id)

 

 

 

Так и не получается. В общем таблица Oc_product  в ней по графе model нужно определить дубликаты а затем дубликаты удалить. Как должен выглядеть код для SQL запроса при таких переменных? Я уже как только не пробовал изменять и эти запросы и другие... в SQL опыта почти ноль.. 

Link to comment
Share on other sites

У вас весь код на лице..

От того что я вам напишу готовый код, вам это не поможет..
Нужно не только копипастить, но еще и думать

А подсказать - я подскажу.

Link to comment
Share on other sites

11 минут назад, chukcha сказал:

У вас весь код на лице..

От того что я вам напишу готовый код, вам это не поможет..
Нужно не только копипастить, но еще и думать

А подсказать - я подскажу.

Так я пробовал. в sql я раньше вообще не работал...

Link to comment
Share on other sites

2 минуты назад, chukcha сказал:

Что вы пробовали?

SELECT p1.oc_product
from oc_product p1, oc_product p2
where p1.model = p2.model
and pd1.oc_product > pd2.oc_product)
Link to comment
Share on other sites

3 минуты назад, chukcha сказал:

И что вы получили в результате?

татический анализ:

Найдено 2 ошибок при анализе.

 

  1. Неожиданный токен. (near ")" at position 119)
  2. Неожиданный токен. (near "" at position 120)

 

SQL запрос: Документация

SELECT p1.oc_product from oc_product p1, oc_product p2 where p1.model = p2.model and pd1.oc_product > pd2.oc_product)

Ответ MySQL: Документация

#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около ')' на строке 4

татический анализ:

Найдено 2 ошибок при анализе.

Неожиданный токен. (near ")" at position 119)
Неожиданный токен. (near "" at position 120)
SQL запрос: Документация

SELECT p1.oc_product from oc_product p1, oc_product p2 where p1.model = p2.model and pd1.oc_product > pd2.oc_product)

Ответ MySQL: Документация

#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около ')' на строке 4

Но в этом я не разбираюсь..

Link to comment
Share on other sites

2 минуты назад, chukcha сказал:

:) google translate


 

 

SELECT p1.model
from oc_product p1, oc_product p2
where p1.model = p2.model
and pd1.oc_product > pd2.oc_product


SQL запрос: Документация


SELECT p1.model
from oc_product p1, oc_product p2
where p1.model = p2.model
and pd1.oc_product > pd2.oc_product LIMIT 0, 25
Ответ MySQL: Документация

#1054 - Неизвестный столбец 'pd1.oc_product' в 'where clause'

 

Link to comment
Share on other sites

3 минуты назад, chukcha сказал:

Ну.. Ё-моЁ

Я вам показал откуда взял код
ну да я не все поменял

Но зачем человеку глаза и голова?

Я просто не совсем понимаю что нужно менять а что нет... Да т.к. я в этой сфере не работал я не понимаю.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.