Sajmon

ORDER

Mar 28th, 2012
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.46 KB | None | 0 0
  1. ALTER PROCEDURE PocetJizd
  2. AS
  3. BEGIN
  4. DECLARE kurzor CURSOR FOR SELECT S.idStaff, S.fname, S.lname, COUNT(S.idStaff) AS Pocet FROM Staff AS S
  5.                            JOIN TrainCrew AS Tr ON (S.idStaff = Tr.idStaff) GROUP BY S.idStaff, S.fname, S.lname ORDER BY Pocet DESC;
  6. DECLARE
  7.     @v_idStaff INT, @v_fname VARCHAR(30), @v_lname VARCHAR(50), @v_count INT, @v_max INT, @v_topWorkerId INT;
  8.     SET @v_max = 0;
  9. OPEN kurzor;
  10.     FETCH NEXT FROM kurzor INTO @v_idStaff, @v_fname, @v_lname, @v_count;
  11.     WHILE @@FETCH_STATUS = 0
  12.         BEGIN
  13.             IF (@v_count > @v_max)
  14.                 BEGIN
  15.                     SET @v_max = @v_count;
  16.                     SET @v_topWorkerId = @v_idStaff;
  17.                 END
  18.             PRINT @v_fname + ' ' + @v_lname + ' ' + CAST(@v_count AS VARCHAR);
  19.         FETCH NEXT FROM kurzor INTO @v_idStaff, @v_fname, @v_lname, @v_count;    
  20.         END
  21. CLOSE kurzor;
  22. DEALLOCATE kurzor;
  23. DECLARE tKurzor CURSOR FOR SELECT T.idTrain FROM Staff AS S JOIN TrainCrew AS Tr ON (S.idStaff = Tr.idStaff)
  24.                            JOIN TrainRide AS T ON (Tr.idTrainRide = T.idTrainRide) WHERE Tr.idStaff = @v_topWorkerId;
  25. DECLARE
  26.     @v_idTrain INT, @v_name VARCHAR(30);
  27.     SET @v_name = (SELECT fname FROM Staff WHERE idStaff = @v_topWorkerId);                        
  28. OPEN tKurzor;
  29.     FETCH NEXT FROM tKurzor INTO @v_idTrain;
  30.     PRINT 'TOP EMPLOYER: ' + @v_name;
  31.     PRINT 'RIDES:';
  32.     WHILE @@FETCH_STATUS = 0
  33.         BEGIN
  34.             PRINT 'TRAIN WITH ID: ' + CAST(@v_idTrain AS VARCHAR);
  35.         FETCH NEXT FROM tKurzor INTO @v_idTrain;   
  36.         END
  37. CLOSE tKurzor;
  38. DEALLOCATE tKurzor;                        
  39. END
  40.  
  41. EXECUTE PocetJizd;
Advertisement
Add Comment
Please, Sign In to add comment