input: %hash = ( "view0" => "buffersize, size, value", "view1" => "buffersize, size, value", "view2" => "buffersize, size, value" "view3" => "buffersize, size, value"); output: view0 full outer join view1 on view0.size = view1.size and view0.buffersize = view1.buffersize full outer join view2 on view1.size = view2.size and view1.buffersize = view2.buffersize full outer join view3 on view2.size = view3.size and view2.buffersize = view3.buffersize