Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak Zbudować Taką Kwerendę?
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
fiszol
Witam

Chodzi mi o kwerendę która będzie działać w następujący sposób

sprawdzi w tabeli1 wartość pola X, gdy wartość ta okaże się mniejsza od 1, usunie wszystkie wpisy z polem Y z tabeli2 i tabeli1 ?

dla przykladu tabela1 wygląda tak
Kod
|id      |y         |x    |
|1       | jacek  | 1   |
|2       | placek | 4   |


a tabela2 tak:
Kod
|id     |y       |z    |    
|1      |jacek |bla |
|2      |placek|bla |


chodzi mi o to aby kwerenda ta sprawdziła wartość w tabeli1 pola X, jeśli koaże się ona mniejsza niż jeden usunęła wsyzstkie wpisy w tabelach 1&2 gdzie y=jacek, a żeby pola z wpisami placek zostały nie ruszne

kurcze, strasznie to zagmatwałem, przed chwilą miałem w głowie dokładnie jak to ma działać jednak gdzieś mi to uciekło, a im więcej się nad tym zastanawiam, tym więcej mi ucieka.... sadsmiley02.gif

pozdrawiam,
fiszol
peyn
  1. --zmienne do przechowywania info z zapytania
  2. DECLARE @ile AS integer;
  3. DECLARE @y AS varchar(25);
  4.  
  5. --tworzymy kursor ktory bedzie nam pobieral dane z naszego zapytania
  6. DECLARE c_test CURSOR FOR SELECT x, y FROM tabela1; --otwieramy kursor
  7. OPEN c_test;
  8.  
  9. --sciagamy pierwsze dane z kursora
  10. FETCH NEXT FROM c_test INTO @ile, @y;
  11.  
  12. --dopoki w kursorze sa jakies dane bedziemy sprawdzali czy warunek jest spelniony
  13. WHILE @@FETCH_STATUS=0
  14. BEGIN --jesli x < 1 usuwamy dane z tabel
  15. IF @ile < 1
  16. BEGIN DELETE FROM tabela1 WHERE y = @y;
  17. DELETE FROM tabela2 WHERE y = @y;
  18. END;
  19.  
  20. --sciagamy kolejne dane z kursora
  21. FETCH NEXT FROM c_test INTO @ile, @y;
  22. END


To chyba powinno byc to o co Ci chodzi
fiszol
Dzięki, jednak poradziłem już sobie z tym za pomocą php ;]

pozdrawiam,
fiszol
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.