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

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


Recommended Posts

Guest

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

Link to post
Share on other sites
Guest

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

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 post
Share on other sites
Guest
5 минут назад, chukcha сказал:

а что неясно?
 

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

Link to post
Share on other sites
Guest

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

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 post
Share on other sites
Guest
Только что, chukcha сказал:

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

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

 

Link to post
Share on other sites

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

 

  • +1 1
Link to post
Share on other sites
Guest
2 минуты назад, chukcha сказал:

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

 

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

Link to post
Share on other sites

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

Link to post
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 post
Share on other sites
Guest
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 post
Share on other sites

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

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

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

Link to post
Share on other sites
Guest
11 минут назад, chukcha сказал:

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

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

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

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

Link to post
Share on other sites
Guest
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 post
Share on other sites
Guest
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 post
Share on other sites

:) google translate


 

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

Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса

 

Link to post
Share on other sites
Guest
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 post
Share on other sites

Ну.. Ё-моЁ

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

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

Link to post
Share on other sites
Guest
3 минуты назад, chukcha сказал:

Ну.. Ё-моЁ

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

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

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

Link to post
Share on other sites

Не можешь сам - поручи другому

Я вам посоветовал -, сделайте это руками в админке.

Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • 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.