Solved

SQL query on ASP page not working

Posted on 2014-03-27
10
223 Views
Last Modified: 2014-03-27
I am pulling data to an ASP page from excel data in a named range. the named range is called "tblData" and I want the data from all the assets that are named a certain thing. My current sql statement is below and it retuns all assets but it does only pull the tagnames I am looking for but just not the specific assets, it pull all assets. the piece in italics is whats not working.

sql = "SELECT * FROM tblData where Asset ='FB%DPO' AND TagName = 'PercentMCR' OR 'BoilerCycles' OR 'BoilerThermalEfficiency' OR 'BoilerAvailableWorkEfficiency';"
0
Comment
Question by:jlcannon
  • 5
  • 3
  • 2
10 Comments
 
LVL 33

Expert Comment

by:ste5an
ID: 39958760
Seems you want:

SELECT * 
FROM tblData 
WHERE Asset ='FB%DPO'  
  AND TagName IN ('PercentMCR', 'BoilerCycles', 'BoilerThermalEfficiency', 'BoilerAvailableWorkEfficiency');

Open in new window

0
 
LVL 29

Assisted Solution

by:Paul Jackson
Paul Jackson earned 250 total points
ID: 39958781
You need to repeat the column you are comparing against in the where clause when using OR :

SELECT * FROM tblData 
where Asset ='FB%DPO'  AND (TagName = 'PercentMCR' OR TagName =  'BoilerCycles' OR TagName = 'BoilerThermalEfficiency' OR TagName = 'BoilerAvailableWorkEfficiency');

Open in new window

0
 

Author Comment

by:jlcannon
ID: 39958787
when i use that it returns nothing. my asset names are like FB3-DPO or FB34DPO so I thought using the wildcard % would get all of what I needed for asset name.  but the above solution does not pull any data and it should as FB%DPO should return the records to the two assets I listed above.
0
 
LVL 29

Expert Comment

by:Paul Jackson
ID: 39958792
try using the like operator :

SELECT * FROM tblData 
where Asset Like 'FB%DPO'  AND (TagName = 'PercentMCR' OR TagName =  'BoilerCycles' OR TagName = 'BoilerThermalEfficiency' OR TagName = 'BoilerAvailableWorkEfficiency'); 

Open in new window

0
 

Author Comment

by:jlcannon
ID: 39958975
Hmm still returns nothing I have attached a copy of my excel sheet.  and my code is simple, using the lates solution:

sql = "SELECT * FROM tblData where Asset Like 'FB%DPO'  AND (TagName = 'PercentMCR' OR TagName =  'BoilerCycles' OR TagName = 'BoilerThermalEfficiency' OR TagName = 'BoilerAvailableWorkEfficiency');"

set RS = server.createobject("adodb.recordset")
RS.open sql,Conn,adOpenForwardOnly,adLockReadOnly
Copy.xlsx
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 33

Expert Comment

by:ste5an
ID: 39959041
The wildcard is the asterisk *.
0
 

Author Comment

by:jlcannon
ID: 39959059
I have used both * and % and neither return the data
0
 

Author Comment

by:jlcannon
ID: 39959095
It seems as if If I use Asset LIKE 'FB%' is works to pull up all records with Asset names that begin with FB but if I use '%DPO' it pulls nothing. Same if I use 'FB*' it pulls all FB but if I use '*DPO' it pulls nothing. Also if I add in the line from AND on to the end it again pulls nothing even when used in conjunction with FB% than by itself returns all records where the asset name begins with FB... I am at a loss.
0
 
LVL 33

Accepted Solution

by:
ste5an earned 250 total points
ID: 39959136
Yup, it's Excel. You cannot rely on what you see.

The value is 'FB4-DPO    ' with trailing spaces. Thus you need to go for [Asset] LIKE 'FB%DPO%'.
0
 

Author Closing Comment

by:jlcannon
ID: 39959740
thank you. found it was trailing spaces in the cells so now to figure out how to use the equivelent of TRIM in the vba code I am using to import the data from a CSV file. Off to a new searcha nd probably new question here....
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

As they say in love and is true in SQL: you can sum some Data some of the time, but you can't always aggregate all Data all the time! Introduction: By the end of this Article it is my intention to bring the meaning and value of the above quote to…
I'm trying, I really am. But I've seen so many wrong approaches involving date(time) boundaries I despair about my inability to explain it. I've seen quite a few recently that define a non-leap year as 364 days, or 366 days and the list goes on. …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now