2

Java Code:

String ds=null;
String client=null;
List<Date> dates = new ArrayList<Date>();
String str_date ="2015-04-05";
                    String end_date ="2015-04-10";
                            int s=dates.size();
                            System.out.println("Date size value"+s);
                            for(int i=1;i<dates.size();i++){
                                Date lDate =(Date)dates.get(i);

                                 ds = formatter.format(lDate);    
                                System.out.println(" Date is ..." + ds);

                            }
                            for(int i=0;i<s;i++)
                            {
                            query0 = "SELECT  TransDate FROM abc.`"
                                    + str_date + "` WHERE `Id`='" + Id + "'";
                            query1 = "SELECT  TransDate FROM mis.`"
                                    + ds + "` WHERE `Id`='" + Id + "'";


                finalQuery = query0 + " " + " union all " + " " + query1;
                                                    }
        System.out.println("finalquery  =====   " + finalQuery);
      }

output

I am getting output like this 
 Date size value6
 Date is ...2015-04-06
 Date is ...2015-04-07
 Date is ...2015-04-08
 Date is ...2015-04-09
 Date is ...2015-04-10
finalquery  =====   SELECT  TransDate  FROM mis.`2015-04-05` WHERE `Id`='null'  union all  SELECT  TransDate  FROM mis.`2015-04-10` WHERE `Id`='null'    
    But I need output like this 
    SELECT  TransDate  FROM mis.`2015-04-05` WHERE `Id`='null'  union all           SELECT  TransDate  FROM mis.`2015-04-06` WHERE `Id`='null' union all
    SELECT  TransDate  FROM mis.`2015-04-07` WHERE `Id`='null' union all
    SELECT  TransDate  FROM mis.`2015-04-08` WHERE `Id`='null'union all
    SELECT  TransDate  FROM mis.`2015-04-09` WHERE `Id`='null' union all
    SELECT  TransDate  FROM mis.`2015-04-10` WHERE `Id`='null'

The above code getting fromdate ,todate between dates.Those dates will append in String of query . please tell how to get this output.... Thanks in advance

Piyush Gupta
  • 2,181
  • 3
  • 13
  • 28

1 Answers1

0

You are overriding the value assigned to finalQuery in the loop everytime. Instead, append the new subquery to existing value

finalQuery = "SELECT  TransDate FROM abc.`" + str_date + "` WHERE `Id`='" + Id 

for(int i=1;i<dates.size();i++){
   Date lDate =(Date)dates.get(i);
   ds = formatter.format(lDate);    


  for(int i=0;i<s;i++) {
      query1 = "SELECT  TransDate FROM mis.`" + ds + "` WHERE `Id`='" + Id + "'";

  }
   finalQuery = finalQuery + " " + " union all " + " " + query1;
}
sidgate
  • 14,650
  • 11
  • 68
  • 119