# Sql query column dynamic placeholder

**URL:** <https://forum.inductiveautomation.com/t/sql-query-column-dynamic-placeholder/9096>\
**Category:** Ignition\
**Created:** [September 24, 2014, 8:52pm UTC](https://forum.inductiveautomation.com/t/sql-query-column-dynamic-placeholder/9096 "2014-09-24T20:52:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![AJBerera](https://avatars.discourse-cdn.com/v4/letter/a/9fc29f/32.png) [@AJBerera](https://forum.inductiveautomation.com/u/AJBerera)\
**Post date:** [September 24, 2014, 8:52pm UTC](https://forum.inductiveautomation.com/t/sql-query-column-dynamic-placeholder/9096/1 "2014-09-24T20:52:56Z")

</div>

I wasn’t too sure what to name the subject line for this question.  
I am trying to run a query within a FOR loop  
and every time it comes through here, I am not returning the correct results because something

`FOR x in range(1,6):
   x=str(x)
   query1 = "SELECT BatchID FROM Reports WHERE TempZone"+ x + " = NULL"
 	batchID = system.db.runScalarQuery(query1)`

The problem is the indirect column named TempZone1-5  
Does anyone know a way around this?  
I’ve already tried

```auto
system.db.runScalarQuery("Select BatchID From Reports Where TempZone%s = NULL" %x)
```

It didn’t work either.

---

<div class="post-metadata">

**Author:** ![Pat](https://avatars.discourse-cdn.com/v4/letter/p/8491ac/32.png) [@Pat](https://forum.inductiveautomation.com/u/Pat)\
**Post date:** [September 25, 2014, 1:01am UTC](https://forum.inductiveautomation.com/t/sql-query-column-dynamic-placeholder/9096/2 "2014-09-25T01:01:51Z")

</div>

You can’t use comparisons (=, \<\>, \>, \<) when checking for NULL. You need to use IS NULL or IS NOT NULL

Try -

`FOR x in range(1,6):
   x=str(x)
   query1 = "SELECT BatchID FROM Reports WHERE TempZone"+ x + " IS NULL"
   batchID = system.db.runScalarQuery(query1)`

---

<div class="post-metadata">

**Author:** ![jpark](https://avatars.discourse-cdn.com/v4/letter/j/a88e57/32.png) [@jpark](https://forum.inductiveautomation.com/u/jpark)\
**Post date:** [September 25, 2014, 3:34pm UTC](https://forum.inductiveautomation.com/t/sql-query-column-dynamic-placeholder/9096/3 "2014-09-25T15:34:46Z")

</div>

You can bypass the str(x) and use the following:

`for x in range(1,6):
   query1 = "SELECT BatchID FROM Reports WHERE TempZone%d is NULL"%(x)
   batchID = system.db.runScalarQuery(query1)`
