Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: delete w tabeli po spełnieniu warunku
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
exen
Witam!

Mam problem z poprawnym ouworzeniem zapytania pod MSSQL. Próbowałem stowrzyć je analogicznie do MYSQL i nie daje już rady.

Tak wygląda zapytanie:
  1. DELETE FROM CDN.Towary
  2. WHERE cdn.TwrGrupy.TwG_Kod=cdn.Towary.Twr_Kod AND cdn.TwrGrupy.TwG_GrONumer = 13061


Ma ono na celu usunięcie tylko z tabeli CDN.Towary rekordów, które w tabeli cdn.TwrGrupy.TwG_GrONumer posiadają wartość 13061 i są połączone cdn.TwrGrupy.TwG_Kod=cdn.Towary.Twr_Kod .
Mam nadzieję, że powyższe objaśnienie wystarczy do zrozumienia co ma uczynić query.

Powyższe zapytanie, kończy sie zwrotem komunikatu o błędzie:
Cytat
Msg 107, Level 16, State 3, Line 1
The column prefix 'cdn.TwrGrupy' does not match with a table name or alias name used in the query.
Msg 107, Level 16, State 3, Line 1
The column prefix 'cdn.TwrGrupy' does not match with a table name or alias name used in the query.


Będę wdzięczy za pomoc!

Pozdrawiam,
Robert
Gapollo
zobacz najpierw selecta, czy to te rekordy chcesz usunąć?
  1. SELECT T2.*
  2. FROM CDN.Towary T2 JOIN cdn.TwrGrupy G
  3. ON G.TwG_Kod=T2.Twr_Kod AND G.TwG_GrONumer = 13061

a potem zamień pierwsze dwa słowa
  1. DELETE T2
  2. FROM CDN.Towary T2 JOIN cdn.TwrGrupy G
  3. ON G.TwG_Kod=T2.Twr_Kod AND G.TwG_GrONumer = 13061


ale można też
  1. DELETE FROM cdn.towary WHERE Twr_Kod IN (SELECT TWG_Kod FROM TwrGrupy WHERE Twg_GrONumer=13061)
exen
Dzięki wielkie!
Zrozumiałem już jak to działa w MSSQL.

Dzięki za pomoc!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.