If you really want to have the tables together on one page, cheat
a bit. Put all the material in a single table-environemt. That
means you need to put the stuff between the tables either in
front or after them. Here as a quick example.
\documentclass[twocolumn,paper=a4,fontsize=11pt,captions=tableabove]{scrbook}
\usepackage{showframe}
\usepackage{lipsum}
\usepackage{xcolor}
\usepackage{tabularx}
\colorlet{tablegray}{gray!50!white}
\newcommand{\faketable}[1]{{\color{tablegray}\rule{\linewidth}{.#1\textheight}}}
\begin{document}
\lipsum[1-2]
Now we are using a twocolumn, floating environment and put all
tables and all captions inside. This is hardwired, LaTeX will
float the *whole container* around. This might need some
readjustments.
\begin{table*}
\begin{minipage}{0.45\textwidth}
\caption{I am das duck}
\faketable{3}
\bigbreak
\caption{I am the penguin}
\faketable{5}
\end{minipage}
\hfill
\begin{minipage}{.45\linewidth}
\caption{I bin das Walross}
\faketable{8}
\end{minipage}
\end{table*}
\lipsum[2]
\lipsum[3]
\end{document}
Best Answer
will put three tables in a row.