@@ -25,8 +25,12 @@ def __init__(self,databaseInfo,params):
2525 if (currFilt ['type' ]== 'range' ):
2626 self .filters .append (("(" + self .selectedColumns [i ] + " BETWEEN " + "\" " + currFilt ['values' ][0 ] + "\" AND " + "\" " + currFilt ['values' ][1 ] + "\" )" ) if isinstance (currFilt ['values' ][0 ],str ) else self .filters .append ("(" + self .selectedColumns [i ] + " BETWEEN " + str (currFilt ['values' ][0 ]) + " AND " + str (currFilt ['values' ][1 ]) + ")" ))
2727 else :
28- self .filters .extend (list (map (lambda filt : "(" + selectedColumns [i ] + "=" + "\" " + filt + "\" )" , currFilt ['values' ]))) if isinstance (currFilt ['values' ][0 ],str ) else self .filters .extend (list (map (lambda filt : "(" + self .selectedColumns [i ] + "=" + str (filt ) + ")" , currFilt ['values' ])))
29-
28+ #self.filters.extend(list(map(lambda filt: "(" + selectedColumns[i] + "=" + "\"" + filt + "\")", currFilt['values']))) if isinstance(currFilt['values'][0],str) else self.filters.extend(list(map(lambda filt: "(" + self.selectedColumns[i] + "=" + str(filt) + ")", currFilt['values'])))
29+ if (isinstance (currFilt ['values' ][0 ],str )):
30+ self .filters .append ("(" + self .selectedColumns [i ] + " IN (" + ', ' .join (list (map (lambda filt : '\" ' + filt + '\" ' ,currFilt ['values' ]))) + "))" )
31+ else :
32+ self .filters .append ("(" + self .selectedColumns [i ] + " IN (" + ', ' .join (str (val ) for val in currFilt ['values' ]) + "))" )
33+
3034 def select (self ):
3135 return "SELECT " + ', ' .join (list (set (self .selectedColumns )))
3236
@@ -71,7 +75,9 @@ def __init__(self,databaseInfo,params):
7175 self .selectedColumns = list (map (lambda i : self .aggregate [i ].upper () + "(" + self .selectedColumns [i ] + ")" if self .aggregate [i ]!= None else self .selectedColumns [i ],[i for i in range (len (self .selectedColumns ))]))
7276
7377 def groupBy (self ):
74- return "GROUP BY " + ", " .join (list (set (self .groupByCols ) ))
78+ if (len (self .params ['aggregate' ])):
79+ return "GROUP BY " + ", " .join (list (set (self .groupByCols )))
80+ return ""
7581
7682 def command (self ):
7783 return '\n ' .join (string for string in [super ().command (), self .groupBy ()] if len (string ))
@@ -110,7 +116,7 @@ def groupBy(self):
110116 self .groupByCols .extend (["MONTH(" + dateCol + ")" ,"YEAR(" + dateCol + ")" ])
111117 elif (self .aggregateBy == 'year' ):
112118 self .groupByCols .append ("YEAR(" + dateCol + ")" )
113- else :
119+ elif ( len ( self . params [ 'aggregate' ])) :
114120 self .groupByCols .append (dateCol )
115121 return super ().groupBy ()
116122
0 commit comments