We help IT Professionals succeed at work.

Looping through a row and retrieving data relative to the value in each column

morinia
morinia asked
on
293 Views
Last Modified: 2018-10-12
I have a long running query because it is reading a very large database.  The issue is there is a string of codes that each have an order number.  There can be as many as 30 on a  line. The order is then matched to another table to get the actual value.  What is the best way to loop through this row to get the codes for all of the 20 values.  This is an SQL statement.
Comment
Watch Question

lcohanDatabase Analyst
CERTIFIED EXPERT

Commented:
The issue is there is a string of codes that each have an order number.

How are they delimited in that string? You could use a string split function and actually SQL has its own from 2016 and up - just have a look here https://docs.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2016
Essentially is the same thing if you don't have it depending on the delimiters you could write your own or if you google sql seting split function examples I bet you'll find one. Like this for example https://sqlperformance.com/2012/07/t-sql-queries/split-strings
moriniaAdvanced Analytics Analyst

Author

Commented:
It is not a string.  It is a column than can have multiple values.  Currently I have multiple joins of the same table and check the value.  It will be value1, or value2 or value3........value30.  I then use that value as a key to read another table.  Currently I am using the same two table just giving them different alias.
CERTIFIED EXPERT
Most Valuable Expert 2012
Distinguished Expert 2019

Commented:
If you have a single column that you need to look up in two tables, it is a simple join.  I'm guessing that isn't the solution so I'm not understanding your tables.

Please post sample data and expected results.  We don't need all 30 values.  Just 2 or 3 to get the general concept.
moriniaAdvanced Analytics Analyst

Author

Commented:
Attached is a very simple query with four columns.  I am doing this 30 times.  I am hoping to find a more efficient approach.
Sample.txt
Dung DinhDBA and Business Intelligence Developer
CERTIFIED EXPERT

Commented:
Do you have the index on this colum?
CERTIFIED EXPERT
Most Valuable Expert 2012
Distinguished Expert 2019
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION
moriniaAdvanced Analytics Analyst

Author

Commented:
Thanks so much. It wither perfectly.
CERTIFIED EXPERT
Most Valuable Expert 2012
Distinguished Expert 2019

Commented:
Glad to help.