# If function in mysql query

**URL:** <https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399>\
**Category:** Ignition\
**Tags:** ignition81, vision, scripting, database, ignition80\
**Created:** [March 12, 2021, 12:40pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399 "2021-03-12T12:40:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kuderskyys](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@kuderskyys](https://forum.inductiveautomation.com/u/kuderskyys)\
**Post date:** [March 12, 2021, 12:40pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/1 "2021-03-12T12:40:00Z")

</div>

Hey guys! Can someone help me out?  
I have a problem with if function in mysql query (I want to create something like a switch)

 ![MicrosoftTeams-image (1)](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/f/5faf7f7410119df78523ba72afbe16cf318cbcf9.png)

SELECT concat(COUNT(\*)) FROM {Root Container.NumberOfNumber 1.Table}  
if ({Root Container.Tab Strip.selectedTab}==‘Ethernet’ then concat(where ({Root Container.NumberOfNumber 1.Where} LIKE ‘%{Root Container.NumberOfNumber 1.Like}%’))  
else  
concat(where ({Root Container.NumberOfNumber 1.Where} LIKE ‘%{Root Container.NumberOfNumber 1.Like}%’)  
AND ({Root Container.NumberOfNumber 1.TimeTable} Between ‘{Root Container.NumberOfNumber 1.StartTime}’ AND ‘{Root Container.NumberOfNumber 1.EndTime}’)))  
end

---

<div class="post-metadata">

**Author:** ![code\_skin](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@code\_skin](https://forum.inductiveautomation.com/u/code_skin)\
**Post date:** [March 12, 2021, 1:59pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/3 "2021-03-12T13:59:51Z")

</div>

The expression language if() is not available in the SQL Query form. You can only reference tags and property bindings. Try creating a custom property on your component called **queryString** and use the expression language if() to return your different query strings. Then in your SQL Query you can just reference  
`{Root Container.NumberOfNumber 1.queryString}`

---

<div class="post-metadata">

**Author:** ![Andrii.Randiuk](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andrii.Randiuk](https://forum.inductiveautomation.com/u/Andrii.Randiuk)\
**Post date:** [March 12, 2021, 2:02pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/5 "2021-03-12T14:02:10Z")

</div>

?how we can do it?

---

<div class="post-metadata">

**Author:** ![Andrii.Randiuk](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andrii.Randiuk](https://forum.inductiveautomation.com/u/Andrii.Randiuk)\
**Post date:** [March 12, 2021, 2:27pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/6 "2021-03-12T14:27:57Z")

</div>

maybe we can use case function?

---

<div class="post-metadata">

**Author:** ![code\_skin](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@code\_skin](https://forum.inductiveautomation.com/u/code_skin)\
**Post date:** [March 12, 2021, 2:47pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/7 "2021-03-12T14:47:47Z")

</div>

Sure. You can use a case or nested if. Whatever makes sense for you.

Here’s a if example

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/1/91cd52b00693d35056d30eacadaf98b9bdbcea1b.png)

Demo:

[https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/7/379198d726d96cf27d622c145c7e5cfaa054df92.mp4](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/7/379198d726d96cf27d622c145c7e5cfaa054df92.mp4)

---

<div class="post-metadata">

**Author:** ![kuderskyys](https://avatars.discourse-cdn.com/v4/letter/k/5f8ce5/32.png) [@kuderskyys](https://forum.inductiveautomation.com/u/kuderskyys)\
**Post date:** [March 12, 2021, 3:17pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/8 "2021-03-12T15:17:03Z")

</div>

Thank u so much!!! Works perfectly!

---

<div class="post-metadata">

**Author:** ![Andrii.Randiuk](https://avatars.discourse-cdn.com/v4/letter/a/b3f665/32.png) [@Andrii.Randiuk](https://forum.inductiveautomation.com/u/Andrii.Randiuk)\
**Post date:** [March 12, 2021, 3:17pm UTC](https://forum.inductiveautomation.com/t/if-function-in-mysql-query/44399/9 "2021-03-12T15:17:36Z")

</div>

Thanks a lot! I understood what you meant 20-30 minutes after your answer. This is brilliant! Thank you again!
