Mam dwie tabele (zadania i Timeentries), które są połączone przez klucz obcy (TimeEntries.TaskID odwołuje Tasks.ID)elegancki sposób, aby usunąć wiersze, które nie są wymienione przez inne tabeli
Teraz chciałbym aby usunąć wszystkie wiersze z zadań, które nie są przywoływane przez tabelę TimeEntries. Myślałem, że to powinno działać:
DELETE FROM Tasks WHERE ID not IN (SELECT TaskID FROM TimeEntries)
Ale to wpływa 0 wierszy, choć istnieje wiele przypisań wierszy w tabeli Zadania.
Jaki może być problem? Oczywiście mógłbym napisać SP, który iteruje wszystkie wiersze, ale wygląda na to, że można to zrobić w jednej linijce.
Domyślam się, że jest to jeden z tych błędów niedoboru w czasie sceptime. Proszę pomóż!
Czy uzyskasz oczekiwane rezultaty, jeśli samodzielnie uruchomisz podkwerendę SELECT? – JNK
@ J-N-K: Tak, zrobiłem. –