I have a dashboard where I can select through a parameter an interval as a filter for all the queries. Dashboard name “new customers performance” and widgets like: how many orders we had from new customers in a given period of time, how many distinct customers, average order value for these customers etc.
the schema for order has something like this:
I need a widget to count how many order_ids are there where coupon id is not a certain value or it’s empty (Basically, these customers are new but they didn’t use one incentive we are offering to new customers).
I wasn’t able to build the query with the query builder, because if I use this setup:
then the query generated will be:
`promotion_id` <> 132 AND `promotion_id` IS NULL
what I need in fact is
(`promotion_id` <> 132 OR `promotion_id` IS NULL)
observe the parenthesis (as there are other conditions in the query that must be cumulated with AND, only these two, related to promotion, should be with OR.
now, I tried to do a native SQL query, but I don’t know how should I put the parameter in the query so I can get queries like this:
(`promotion_id` <> 132 OR `promotion_id` IS NULL) and completed_at between ? and ?
between ? and ? should be a parameter coming from the dashboard filter configuration.
any help is much appreciated.