#NEWLINE# def _where_in_sub( self , column , query , boolean , negate = False ) : #NEWLINE# #INDENT# '\n        Add a where in with a sub select to the query\n\n        :param column: The column\n        :type column: str\n\n        :param query: A QueryBuilder instance\n        :type query: QueryBuilder\n\n        :param boolean: The boolean operator\n        :type boolean: str\n\n        :param negate: Whether it is a not where in\n        :param negate: bool\n\n        :return: The current QueryBuilder instance\n        :rtype: QueryBuilder\n        ' #NEWLINE# if negate : #NEWLINE# #INDENT# type = 'not_in_sub' #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# type = 'in_sub' #NEWLINE# #UNINDENT# self . wheres . append ( { #NEWLINE# #INDENT# 'type' : type , #NEWLINE# 'column' : column , #NEWLINE# 'query' : query , #NEWLINE# 'boolean' : boolean , #NEWLINE# #UNINDENT# } ) #NEWLINE# self . merge_bindings ( query ) #NEWLINE# return self