# Extracting a value from an MS-SQL database

**URL:** <https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228>\
**Category:** General\
**Tags:** database\
**Created:** [13 April 2022 09:36 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228 "2022-04-13T09:36:44Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![milner236](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@milner236](https://discourse.nodered.org/u/milner236)\
**Post date:** [13 April 2022 09:36 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/1 "2022-04-13T09:36:44Z")

</div>

Hello everyone.

Assuming I have the following SQL table (ignore the fact that the picture is from excel)-  
 ![Screenshot_3](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/f/bf2d6187a4c792749481e3ed8e9e8bd947804128.png)

And I receive the value 'Jerry' in the payload, how can I extract his phone number from the MS-SQL table?

Much thanks,

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [13 April 2022 11:50 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/2 "2022-04-13T11:50:06Z")

</div>

Something like [SQL Server SELECT - Querying Data from a Single Table](https://www.sqlservertutorial.net/sql-server-basics/sql-server-select/) ?

---

<div class="post-metadata">

**Author:** ![milner236](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@milner236](https://discourse.nodered.org/u/milner236)\
**Post date:** [14 April 2022 07:26 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/3 "2022-04-14T07:26:15Z")

</div>

Sort of, couldn't quite yet form the picture of how it should look like in a flow.  
If I am constantly receiving people's names in payloads and I want to use that payload value in order to extract their phone numbers.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [14 April 2022 08:35 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/4 "2022-04-14T08:35:46Z")

</div>

What a lot of people do is use a template node to create the query string eg like "SELECT foo FROM mytable WHERE name='{{payload}}';" then pass that to the node.

---

<div class="post-metadata">

**Author:** ![milner236](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@milner236](https://discourse.nodered.org/u/milner236)\
**Post date:** [14 April 2022 08:52 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/5 "2022-04-14T08:52:19Z")

</div>

Thanks! 🙂

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [14 April 2022 09:17 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/6 "2022-04-14T09:17:41Z")

</div>

Please be aware that this can be susceptible to SQL Injection.

For safety, it is always better to use Stored Procedures or Parameters

#### Using node-red-contrib-mssql-plus...

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/c/acd6a79ddf0c22b0dc3455ee1b0d0efa81461268.png)

---

<div class="post-metadata">

**Author:** ![milner236](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@milner236](https://discourse.nodered.org/u/milner236)\
**Post date:** [18 April 2022 11:27 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/7 "2022-04-18T11:27:53Z")

</div>

This is amazing, thanks.  
However, I receive the output as an object inside an array. How can I receive it only as an object?  
It looks as so-  
 ![Screenshot_4](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/c/5cfa64a70042a320eae8ade4722a27bbb39dfdcd.png)

I cant seem to be able to call this object out with msg.payload.token.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [18 April 2022 11:32 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/8 "2022-04-18T11:32:18Z")

</div>

> [@milner236](#):
>
> I cant seem to be able to call this object out with msg.payload.token

No, because as the debug output states, `msg.payload` is an array.

The result of a SQL query is ALWAYS an array - because it has to represent a set of database rows - where each array element is a database row.

If you want to access the 1st row, then you would access `msg.payload[0].token`

* * *

CANNED TEXT...

There’s a great page in the docs ([Working with messages : Node-RED](https://nodered.org/docs/user-guide/messages)) that will explain how to use the debug panel to find the right path to any data item.

Pay particular attention to the part about the buttons that appear under your mouse pointer when you over hover a debug message property in the sidebar.

![BX00Cy7yHi](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/d/bd1f333a9e043b061b39917c328b0094d3e52d30.gif)

---

<div class="post-metadata">

**Author:** ![milner236](https://avatars.discourse-cdn.com/v4/letter/m/a4c791/32.png) [@milner236](https://discourse.nodered.org/u/milner236)\
**Post date:** [18 April 2022 12:47 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/9 "2022-04-18T12:47:38Z")

</div>

Much thanks. I'll make sure to view the attached documentation you've mentioned.

---

<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:** [2 May 2022 12:48 UTC](https://discourse.nodered.org/t/extracting-a-value-from-an-ms-sql-database/61228/10 "2022-05-02T12:48:24Z")

</div>

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