Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL]Update wiersza z duplikatem
T00kie
post 29.10.2010, 12:35:44
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 17.02.2009

Ostrzeżenie: (0%)
-----


Witam, mam sobie tabelkę i w tej tabelce zupełnie świadomie czają się duplikaty, oto zapytanie, które wypluwa mi te duplikaty:

  1. SELECT Twr_Ean, count(*) AS cnt
  2. FROM Cdn.TwrKarty
  3. GROUP BY Twr_Ean
  4. HAVING count(*) > 1 AND Twr_EAN NOT LIKE ''

Potrzebuję dla tych rekordów zmienić w kolumnie Twr_Esklep znacznik z 0 na 1. Zapytanie:

  1. UPDATE Cdn.TwrKarty SET Twr_Esklepy = 1 WHERE Twr_EAN IN (SELECT Twr_Ean, count(*) AS cnt
  2. FROM Cdn.TwrKarty
  3. GROUP BY Twr_Ean
  4. HAVING count(*) > 1 AND Twr_EAN NOT LIKE '')

nie chce przejść ponieważ, jak mnie informuje, nie można zmienić więcej niż jednego rekordu jeśli nie ma użytej funkcji EXISTS, natomiast:

  1. UPDATE Cdn.TwrKarty SET Twr_Esklepy = 1 WHERE EXISTS (SELECT Twr_Ean, count(*) AS cnt
  2. FROM Cdn.TwrKarty
  3. GROUP BY Twr_Ean
  4. HAVING count(*) > 1 AND Twr_EAN NOT LIKE '')

znakuje mi wszystkie towary w tej tabeli..

Co muszę zrobić, żeby zaznaczyło mi tylko te zduplikowane rekordy?

Ten post edytował T00kie 29.10.2010, 12:41:06
Go to the top of the page
+Quote Post
john_doe
post 18.11.2010, 23:26:18
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


  1. UPDATE Cdn.TwrKarty SET Twr_Esklepy = 1 WHERE Twr_EAN IN (SELECT Twr_Ean, count(*) AS cnt
  2. FROM Cdn.TwrKarty
  3. GROUP BY Twr_Ean
  4. HAVING count(*) > 1 AND Twr_EAN NOT LIKE '')


to zapytanie nie działa bo w IN zwracasz więcej niż jedną kolumnę

spróbuj tak
  1. UPDATE Cdn.TwrKarty SET Twr_Esklepy = 1 WHERE Twr_EAN IN (
  2.  
  3. SELECT twr_ean FROM (
  4. SELECT Twr_Ean, count(*) AS cnt
  5. FROM Cdn.TwrKarty
  6. GROUP BY Twr_Ean
  7. HAVING count(*) > 1 AND Twr_EAN NOT LIKE ''
  8. ) AS dom
  9. )


Ten post edytował john_doe 18.11.2010, 23:27:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:45