Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.22 KB | None | 0 0
  1. func GroupByTemplateWithGroupSub() () {
  2.  
  3.     dateStart := time.Now().Unix()
  4.     dateStop := time.Now().Unix()
  5.  
  6.     dates := squirrel.And{
  7.         squirrel.Expr("event_date <= toDateTime(?)", dateStart),
  8.         squirrel.Expr("event_date >= toDateTime(?)", dateStop),
  9.     }
  10.  
  11.     nestedOrderPrelandingSelect := squirrel.
  12.         Select(
  13.             "visit_template_id as prelanding_id",
  14.             "count(*)          as count_order_prelanding",
  15.             "",
  16.         ).
  17.         From("orders_local").
  18.         Where(dates).
  19.         GroupBy("visit_template_id")
  20.  
  21.     nestedVisitPrelandingSelect := squirrel.
  22.         Select("template_id as prelanding_id",
  23.             "count(*)    as count_visit_prelanding").
  24.         From("visits_local").
  25.         Where(              dates,      ).
  26.         GroupBy("template_id")
  27.  
  28.     nestedPrelandingSelect := squirrel.
  29.         Select("*").
  30.         FromSelect(
  31.             nestedVisitPrelandingSelect,
  32.             "visit_template",
  33.         ).
  34.         JoinClause(
  35.             nestedOrderPrelandingSelect.
  36.                 Prefix("any left join (").
  37.                 Suffix(") as template using prelanding_id"),
  38.         )
  39.  
  40.     resultSelect := squirrel.
  41.         Select(
  42.             "prelanding_id",
  43.             "count_visit_prelanding",
  44.             "count_visit_landing",
  45.             "count_order_prelanding",
  46.             "count_order_landing",
  47.         ).
  48.         FromSelect(
  49.             nestedPrelandingSelect,
  50.             "a",
  51.         )
  52.  
  53.     log.Println(resultSelect.ToSql())
  54.  
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement