Witam,
zrobiłem taki wycinek bazy : ![niniBaza] http://pokazywarka.pl/vbyzh6/)i mam problem z napisaniem zapytania do niego. Bo musze wypisać 10 najczęściej używanych leków w poprzednim roku (idLeku,nazwaLeku, liczbaZastosowań) które były wykorzystywane co najmniej 1000 razy i uporządkować to według liczby zastosowań. Gdzie liczba zastosowań to po prostu Dawka. Zrobiłem coś takiego lecz nie jestem do końca przekonany czy jest to poprawnie wykonane a nie mam możliwości sprawdzenia tego na bazie danych. Czy mógłby ktoś na to rzucić okiem ?
SELECT TOP 10 X.IdLeku, X.NazwaLeku
FROM ((SELECT Lek.IdLeku, Lek.NazwaLeku, SUM(Lek_Zabieg.Dawka) AS Zastosowanie
FROM Lek,Zabieg,Lek_Zabieg
WHERE YEAR( NOW()-YEAR(Zabieg.DataZabiegu))=1 AND Lek.IdLeku=Lek_Zabieg.IdLeku
AND Zabieg.IdZabieg=Lek_Zabieg.IdZabieg
GROUP BY Lek.IdLeku, Lek.NazwaLeku)
UNION ALL
(SELECT Lek.IdLeku, Lek.NazwaLeku,SUM(HLek_Zabieg.Dawka) AS Zastosowanie
FROM Lek,HistoriaZabieg,HLek_Zabieg
WHERE YEAR( NOW()-YEAR(HistoriaZabieg.DataZabiegu))=1 AND Lek.IdLeku=HLek_Zabieg.IdLeku
AND HistoriaZabieg.IdZabiegu=HLek_Zabieg.IdZabiegu
GROUP BY Lek.IdLeku, Lek.NazwaLeku)) AS X
GROUP BY X.IdLeku, X.NazwaLeku, Zastosowanie
HAVING Zastosowanie>=1000
ORDER BY Zastosowanie