Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie usuwające dane, jeśli nie ma do nich dowiązania
Insert
post 12.11.2010, 19:41:27
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 17.12.2007

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


Witam,

Mam problem, nie wiem, czy jest możliwość rozwiązania go za pośrednictwem 1 zapytania (byłoby mi bardzo na rękę, bo to nie będzie php tylko jedno zapytanie wykonane z konsoli).

Jest 1 tabela ("zamówienia"), zawierająca rekordy zamówień.
ID, DANE_ID...

Jest 2 tabela ("dane"), zawierająca rekordy z danymi zamówienia (każdy input w formularzu zamówienia to osobny rekord, rekordy tworzą się dopiero wtedy, kiedy klient zdecyduje się na produkt i potwierdzi złożenie zamówienia).
ID, ZAMOWIENIE_ID...

Tabela "zamówienia" jest powiązana relacją jeden-do-wielu z tabelą "dane" (jedno zamówienie ma wiele danych).

Chciałbym teraz usunąć dane, które nie mają powiązania z zamówieniem (dane istnieją, jednak pole ZAMOWIENIE_ID nie odpowiada numerowi ID żadnego z rekordu tabeli "zamówienia" - klient złożył zamówienie, ale go nie zatwierdził, więc rekord w tabeli "zamówienia" nie utworzył się i dane z tego zamówienia nie są już potrzebne).

Z góry dziękuję za wszelkie wskazówki. Dodam tylko, że wiem, iż to nie jest dobrze zamodelowane, ale nie ja to robiłem.

Pozdrawiam serdecznie.
Go to the top of the page
+Quote Post
Smertius
post 12.11.2010, 20:03:00
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 31
Dołączył: 23.02.2009
Skąd: Sanok

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


  1. SELECT * FROM dane WHERE id NOT IN(SELECT id FROM zamowienia)


Zapytanie wybierz ci wszystkie rekordy z 'dane' których id nie znajduje się w 'zamowienia'. Ja chcesz je skasować, zmień selecta na delete.

Ten post edytował Smertius 12.11.2010, 20:05:50
Go to the top of the page
+Quote Post
Insert
post 14.11.2010, 12:23:39
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 17.12.2007

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


Dzięki bardzo, dokładnie o to chodziło.

Pozdrawiam.
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: 23.07.2025 - 09:43