Advertisement
Guest User

Untitled

a guest
Nov 15th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.50 KB | None | 0 0
  1. --1
  2. SELECT nazwisko,
  3.        imie,
  4.        specjalnosc,
  5.        data_urodzenia
  6. FROM   lekarze
  7. WHERE  Datediff(year, data_urodzenia, Getdate()) > 50
  8.        AND ( specjalnosc = 'pediatra'
  9.               OR specjalnosc = 'internista' )
  10. ORDER  BY data_urodzenia ASC
  11.  
  12. --2
  13. SELECT data_wizyty
  14. FROM   wizyty
  15. WHERE  lekarz = (SELECT id_lekarza
  16.                  FROM   lekarze
  17.                  WHERE  nazwisko = 'Maslowski')
  18.        AND Year(data_wizyty) = 2006
  19.        
  20. --3
  21. SELECT DISTINCT( l1.nazwisko )
  22. FROM   lekarze l1
  23. WHERE  l1.id_lekarza IN (SELECT lekarz
  24.                          FROM   wizyty
  25.                          WHERE  pacjent = (SELECT id_pacjenta
  26.                                            FROM   pacjenci
  27.                                            WHERE  nazwisko = 'Witkowski'))
  28.     --LUB
  29. SELECT DISTINCT( l1.nazwisko ),
  30.                specjalnosc
  31. FROM   lekarze l1
  32.        JOIN wizyty
  33.          ON lekarz = id_lekarza
  34.        JOIN pacjenci p1
  35.          ON pacjent = id_pacjenta
  36.             AND p1.nazwisko = 'Witkowski'
  37.            
  38. --4
  39. SELECT nazwisko,
  40.        specjalnosc
  41. FROM   lekarze
  42. WHERE  specjalnosc = (SELECT specjalnosc
  43.                       FROM   lekarze
  44.                       WHERE  nazwisko = 'Stefanowicz')
  45.        AND nazwisko != 'Stefanowicz'
  46.        
  47. --5a
  48. SELECT nazwisko
  49. FROM   pacjenci
  50.        LEFT JOIN wizyty
  51.               ON pacjent = id_pacjenta
  52. WHERE  pacjent IS NULL
  53.  
  54. --5b
  55. SELECT nazwisko
  56. FROM   pacjenci
  57. WHERE  id_pacjenta NOT IN (SELECT pacjent
  58.                            FROM   wizyty)
  59.  
  60. --5c
  61. SELECT nazwisko
  62. FROM   pacjenci p1
  63. WHERE  NOT EXISTS (SELECT pacjent
  64.                    FROM   wizyty
  65.                    WHERE  pacjent = p1.id_pacjenta)
  66.                    
  67. --6
  68. SELECT specjalnosc,
  69.        Count(*) AS 'ilu lekarzy'
  70. FROM   lekarze
  71. GROUP  BY specjalnosc
  72.  
  73. --7
  74. SELECT TOP 1 nazwisko,
  75.        data_urodzenia
  76. FROM   lekarze
  77. ORDER  BY data_urodzenia DESC
  78.     --LUB
  79. SELECT nazwisko,
  80.        data_urodzenia
  81. FROM   lekarze
  82. WHERE  data_urodzenia = (SELECT Max(data_urodzenia)
  83.                          FROM   lekarze)
  84.                          
  85. --8
  86. SELECT nazwisko,
  87.        specjalnosc,
  88.        data_urodzenia
  89. FROM   lekarze l1
  90. WHERE  data_urodzenia = (SELECT Max(data_urodzenia)
  91.                          FROM   lekarze l2
  92.                          WHERE  l2.specjalnosc = l1.specjalnosc)
  93. ORDER  BY data_urodzenia DESC
  94.  
  95. --9
  96. SELECT nazwisko,
  97.        imie,
  98.        Count(*) AS 'ile wizyt'
  99. FROM   lekarze l1
  100.        JOIN wizyty w1
  101.          ON lekarz = id_lekarza
  102. GROUP  BY l1.id_lekarza,
  103.           l1.nazwisko,
  104.           l1.imie
  105. HAVING Count(*) > 10
  106.  
  107. --10
  108. SELECT SUM(koszt) AS 'suma wydatkow'
  109. FROM   wizyty w1
  110.        JOIN pacjenci p1
  111.          ON pacjent = id_pacjenta
  112. WHERE  p1.nazwisko = 'Gumowska'
  113.        AND p1.imie = 'Anna'
  114.        
  115. --11
  116. SELECT nazwisko,
  117.        Avg(koszt) AS 'sredni koszt'
  118. FROM   lekarze l1
  119.        JOIN wizyty w1
  120.          ON lekarz = id_lekarza
  121. GROUP  BY l1.nazwisko,
  122.           l1.id_lekarza
  123. ORDER  BY Avg(koszt) DESC
  124.  
  125. --12
  126. SELECT nazwisko,
  127.        imie,
  128.        Count(*) [ile wizyt]
  129. FROM   lekarze l1
  130.        JOIN wizyty w1
  131.          ON l1.id_lekarza = w1.lekarz
  132. GROUP  BY l1.nazwisko,
  133.           l1.imie,
  134.           l1.id_lekarza
  135. HAVING Count(*) = (SELECT Max([ile wizyt])
  136.                    FROM   (SELECT lekarz,
  137.                                   Count(*) [ile wizyt]
  138.                            FROM   wizyty
  139.                            GROUP  BY lekarz) AS tab)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement