\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}
\usepackage[english]{babel}
\usepackage{amsmath,lipsum}
\begin{document}
\setlength{\abovedisplayskip}{0pt}
\setlength{\belowdisplayskip}{0pt}
\setlength{\abovedisplayshortskip}{0pt}
\setlength{\belowdisplayshortskip}{0pt}
\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]
\end{document}
Note, however, that this is very poor typography. (lipsum
is just to generate dummy text.)
The four parameters state how much vertical space is inserted between text and a math display. The "short" version is used for equation
, when the last line of text is short.
You should also check the way you're inputting math. You're using too much redundant braces (that in some cases give very bad results). It's quite rare to use explicit spacing commands in math.
Here's the result of typesetting the test file

This is the principle. In case you use font size changing commands, you have to tell LaTeX that you want this zero spacing in all sizes by putting this in the preamble
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}
so that the example becomes
\documentclass[10pt,danish,a4paper,oneside,fleqn]{report}
\usepackage[english]{babel}
\usepackage{amsmath,lipsum}
\usepackage{etoolbox}
\newcommand{\zerodisplayskips}{%
\setlength{\abovedisplayskip}{0pt}%
\setlength{\belowdisplayskip}{0pt}%
\setlength{\abovedisplayshortskip}{0pt}%
\setlength{\belowdisplayshortskip}{0pt}}
\appto{\normalsize}{\zerodisplayskips}
\appto{\small}{\zerodisplayskips}
\appto{\footnotesize}{\zerodisplayskips}
\begin{document}
\lipsum*[2]
\begin{align*}
A\cap B & = \{b,d,e\} \cap \{a,b,f,g\} \\
& = \{b\}
\end{align*}
\lipsum[3]
\end{document}