# Ignition 8 Reporting - Component binding to SQL query

**URL:** <https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056>\
**Category:** Ignition\
**Created:** [February 7, 2020, 5:05pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056 "2020-02-07T17:05:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![cole.sharrah](https://avatars.discourse-cdn.com/v4/letter/c/e47774/32.png) [@cole.sharrah](https://forum.inductiveautomation.com/u/cole.sharrah)\
**Post date:** [February 7, 2020, 5:05pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/1 "2020-02-07T17:05:31Z")

</div>

I have a reporting sql query that saves as a PDF via a button on screen(Vision); the time range is changed by component on screen as well. I want to implement a dropdown to say either sort by ascending or descending order. I can build the query manually but I can not pass the option in from the window the same way I am doing the StartDate/EndDate. The SQL query doesnt like any form of “asc” or “desc” that I try to pass to it. Please help, much appreciated.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 7, 2020, 8:24pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/2 "2020-02-07T20:24:02Z")

</div>

Please show your query.

Ascending vs Descending in a query’s ORDER BY clause would be considered part of the query structure, not data. You must use curly-brace string substitution, not a ‘?’ placeholder, for structure.

---

<div class="post-metadata">

**Author:** ![cole.sharrah](https://avatars.discourse-cdn.com/v4/letter/c/e47774/32.png) [@cole.sharrah](https://forum.inductiveautomation.com/u/cole.sharrah)\
**Post date:** [February 7, 2020, 8:45pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/3 "2020-02-07T20:45:27Z")

</div>

I tried this and I still have an error message along the bottom when I go to the preview tab.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/9/9a933e06a8d9d518133e5bc8c4e55f42732f5439.png)

Order\_Input has a default value of 1 and here is the logic to evaluate it.

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/f/f035a17afda260fd8cf0631843e86997fe96f411.png)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 7, 2020, 8:51pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/4 "2020-02-07T20:51:14Z")

</div>

Is your query a ‘SQL Query’ or a ‘Basic SQL Query’ type? Only the latter allows query structure subsitution, I believe.

From some google, it seems like a CASE statement might be valid for the ORDER BY clause; something like

```sql
ORDER BY
  CASE WHEN 'ASC' THEN SortColumn ELSE '' END ASC,
  CASE WHEN 'DESC' THEN SortColumn ELSE '' END DESC

```

Ramifications for performance may be dramatic, and in general this isn’t a “recommended” approach.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 7, 2020, 9:06pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/5 "2020-02-07T21:06:49Z")

</div>

Another possibility would be to always query ascending, but use a script data source to reverse it conditionally.

---

<div class="post-metadata">

**Author:** ![cole.sharrah](https://avatars.discourse-cdn.com/v4/letter/c/e47774/32.png) [@cole.sharrah](https://forum.inductiveautomation.com/u/cole.sharrah)\
**Post date:** [February 7, 2020, 9:10pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/6 "2020-02-07T21:10:11Z")

</div>

it is a SQL query and the start/end dates are working fine.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 7, 2020, 9:19pm UTC](https://forum.inductiveautomation.com/t/ignition-8-reporting-component-binding-to-sql-query/32056/7 "2020-02-07T21:19:24Z")

</div>

Or you could convert to a Named Query–those permit both types of substitution.
