Generates the sql for the JOIN portion of the query

        :return: the JOIN portion of the query
        :rtype: str

def build_joins(self):
        """
        Generates the sql for the JOIN portion of the query

        :return: the JOIN portion of the query
        :rtype: str
        """
        join_parts = []

        # get the sql for each join object
        for join_item in self.joins:
            join_parts.append(join_item.get_sql())

        # if there are any joins, combine them
        if len(join_parts):
            combined_joins = ' '.join(join_parts)
            return '{0} '.format(combined_joins)
        return ''