# Build dynamic query string for InfluxDB

**URL:** <https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354>\
**Category:** General\
**Created:** [20 February 2021 16:11 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354 "2021-02-20T16:11:16Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![borpin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/borpin/32/1765_2.png) [@borpin](https://discourse.nodered.org/u/borpin)\
**Post date:** [25 February 2021 14:49 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/21 "2021-02-25T14:49:27Z")

</div>

I've decided that in this case it is better suited to using a Function node to build the correct query string.

Thanks for all your help.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [25 February 2021 15:21 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/22 "2021-02-25T15:21:15Z")

</div>

Is this what you are trying to do?

```auto
[{"id":"f7518725.54f5f8","type":"template","z":"37f5b818.697af8","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"SELECT sum(\"diff_rain_mm\") AS \"sum_diff_rain_mm\" FROM \"telegraf\".\"autogen\".\"emon_input\" WHERE time > {{payload}} - 1d GROUP BY time(1d) tz('America\\/Chicago')","output":"str","x":260,"y":1340,"wires":[["65683d57.e14f5c"]]},{"id":"d0b40bda.bbc7e8","type":"inject","z":"37f5b818.697af8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":1340,"wires":[["f7518725.54f5f8"]]},{"id":"65683d57.e14f5c","type":"debug","z":"37f5b818.697af8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":410,"y":1340,"wires":[]}]

```

---

<div class="post-metadata">

**Author:** ![borpin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/borpin/32/1765_2.png) [@borpin](https://discourse.nodered.org/u/borpin)\
**Post date:** [25 February 2021 16:04 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/23 "2021-02-25T16:04:16Z")

</div>

Yes, sort of. I think I am going to calculate the actual timespan in a function node. I thought using some of the builtin features would be easier, but I think it is more complicated 🙂

Thanks for your help.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [25 February 2021 16:43 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/24 "2021-02-25T16:43:42Z")

</div>

Well if you are using a function node to calculate the timespan then build the query there too. I find when building strings with embedded quotes it is much easier to use the [string interpolation](https://dmitripavlutin.com/string-interpolation-in-javascript/) syntax, so you might have something like

```auto
let msg.query = `SELECT sum("diff_rain_mm") AS "sum_diff_rain_mm" FROM "telegraf"."autogen"."emon_input" WHERE time > ${msg.payload} - 1d GROUP BY time(1d) tz('America\/Chicago') `

```

---

<div class="post-metadata">

**Author:** ![borpin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/borpin/32/1765_2.png) [@borpin](https://discourse.nodered.org/u/borpin)\
**Post date:** [25 February 2021 16:45 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/25 "2021-02-25T16:45:47Z")

</div>

Thanks for the tip 😀

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [11 March 2021 16:46 UTC](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354/26 "2021-03-11T16:46:32Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

[Previous page](https://discourse.nodered.org/t/build-dynamic-query-string-for-influxdb/41354.md?page=1)
