Hallo liebe Gemeinde,
es ist mal wieder soweit, ich brauche einen Rat. Ich habe meine SQL-Kenntnisse rausgekramt und bin im Bereich der Bibliometrie unterwegs. Der Impact Factor (IF) berechnet sich aus den Zitatenz eines Jahresy x dividiert durch die veröffentlichten ArtikelQ der Jahre xy-1 und xy-2 im Journal. Sortiert werden soll das Ergebnis nach den Namen des Journals und später in einer Pivot in Excel. Hier noch die Formel vom IF(J;y):
(Zy)
------------------
(Qy-1 + Qy-2)
Hier nun der Code, wo ich meine Probleme habe.
Ich bekomme als Ergebnise drei Spalten ( Name, Year, IF 2 Jahre ). Das Problem ist, der IF ist immer NULL. Der Fehler liegt vermutlich in der 3. Zeile versteckt.
Nachtrag: Sowas wie
geht leider auch nicht.
es ist mal wieder soweit, ich brauche einen Rat. Ich habe meine SQL-Kenntnisse rausgekramt und bin im Bereich der Bibliometrie unterwegs. Der Impact Factor (IF) berechnet sich aus den Zitatenz eines Jahresy x dividiert durch die veröffentlichten ArtikelQ der Jahre xy-1 und xy-2 im Journal. Sortiert werden soll das Ergebnis nach den Namen des Journals und später in einer Pivot in Excel. Hier noch die Formel vom IF(J;y):
(Zy)
------------------
(Qy-1 + Qy-2)
Hier nun der Code, wo ich meine Probleme habe.
Code:
SELECT Name, Year, COUNT(quote.idWork_quoted)/
(SELECT COUNT(idWork) FROM work WHERE (Year BETWEEN Year-1 AND Year-2) AND Year <> 0) AS "IF 2 Jahre" FROM work
JOIN quote ON work.idWork=quote.idWork_quoted
JOIN publish ON work.idWork=publish.idWork
JOIN journal ON publish.idJournal=journal.idJournal
GROUP BY Name
Ich bekomme als Ergebnise drei Spalten ( Name, Year, IF 2 Jahre ). Das Problem ist, der IF ist immer NULL. Der Fehler liegt vermutlich in der 3. Zeile versteckt.
Nachtrag: Sowas wie
Code:
(Year BETWEEN Year(getdate())-1)AND(Year(getdate())+1)
Zuletzt bearbeitet: