SQL Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
 
 
User Name:
Password:
Remember me
Go Back   ASP Free ForumsDatabaseSQL Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread ASP Free Forums Sponsor:
  #1  
Old November 15th, 2004, 01:49 PM
mayde78 mayde78 is offline
Contributing User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Jul 2004
Posts: 83 mayde78 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 23 m 54 sec
Reputation Power: 5
SQL Query - Howto

I have a column for availability in the Options table.

This column contains 2 records

1st record: "Monday, Tuesday, morning"
2nd record: "Monday, evening".

How do i write a query that returns"

1st record: if "avail = morning"
both records: if "avail = monday"
both records: if "avail = monday, morning"

Reply With Quote
  #2  
Old November 16th, 2004, 12:47 PM
terme22 terme22 is offline
Registered User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Nov 2004
Posts: 23 terme22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 51 m 26 sec
Reputation Power: 0
Cool

Can you break down those fields ~say~ colums avail_mon , avail_tues etc and use yes or no as values? If not, you could try using LIKE in your query.

"SELECT * WHERE Avail LIKE 'monday%'" , might work.

Reply With Quote
  #3  
Old November 16th, 2004, 02:38 PM
Memnoch's Avatar
Memnoch Memnoch is offline
Unholy Moderator
Click here for more information.
 
Join Date: Oct 2003
Location: In hell, where did you think?
Posts: 11,879 Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 3 Weeks 5 Days 18 h
Reputation Power: 500
WHERE Avail IN( list of options)

Reply With Quote
  #4  
Old November 16th, 2004, 02:44 PM
terme22 terme22 is offline
Registered User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Nov 2004
Posts: 23 terme22 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 51 m 26 sec
Reputation Power: 0
Smile

very cool, i'm not sure mine would have worked

Reply With Quote
  #5  
Old November 17th, 2004, 05:40 PM
mayde78 mayde78 is offline
Contributing User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Jul 2004
Posts: 83 mayde78 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 23 m 54 sec
Reputation Power: 5
well neither seems to be working

the % doesn't work on %monday%morning% cause there's a Tuesday inbetween.
the IN operator doesnt work either ...

to explain in more detail, i want to query the database based on which multiple
checkboxes are selected.

So, if someone selects Monday and Thursday. It will have to query
(Avail like '%Monday%') AND (Avail like '%Thursday'). This works great..but the
problem is the AND. If a single checkbox is selected, i cannot append a 'AND' in the
stringbuilder.

Reply With Quote
  #6  
Old November 17th, 2004, 06:00 PM
Memnoch's Avatar
Memnoch Memnoch is offline
Unholy Moderator
Click here for more information.
 
Join Date: Oct 2003
Location: In hell, where did you think?
Posts: 11,879 Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level)Memnoch User rank is Lieutenant Colonel (40000 - 50000 Reputation Level) 
Time spent in forums: 3 Weeks 5 Days 18 h
Reputation Power: 500
If someone selected Monday and Thursday, then the statement would be like this in my example.
Code:
SELECT * FROM Tablename WHERE Avail IN ('Monday', 'Thursday')

Reply With Quote
  #7  
Old November 17th, 2004, 07:35 PM
mayde78 mayde78 is offline
Contributing User
ASP Free Newbie (0 - 499 posts)
 
Join Date: Jul 2004
Posts: 83 mayde78 User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 4 h 23 m 54 sec
Reputation Power: 5
Yeah, It should work but it doesn't return what i need.

Anyway, i figured out a way using LIKE and the string builder to get the result.

Here's the code in (C#) (for further reference if someone needs it)

StringBuilder sb = new StringBuilder();
{
foreach (ListItem li in CheckBoxList1.Items)
{
if(li.Selected)
{
sb.Append("%");
sb.Append(li.Text);
sb.Append("%");
}
}

SqlCommand sqlCmd1 = sqlConnection1.CreateCommand();
sqlCmd1.CommandType = CommandType.Text;
sqlCmd1.CommandText = "SELECT Info.info_fname, Info.info_ssn, Info.info_lname, Info.info_position " +
"FROM Info INNER JOIN Avl_Schedule ON Info.info_ssn = Avl_Schedule.avl_ssn " +
"WHERE (Avl_Schedule.avl_daystm LIKE " + "'" + sb.ToString() + "')";

/* Other Code */

}

Reply With Quote
Reply

Viewing: ASP Free ForumsDatabaseSQL Development > SQL Query - Howto


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump



 Free IT White Papers!
 
How to Present Effectively Online
This white paper offers practical and actionable advice on the key steps that any presenter should consider as they plan and execute a Webinar or online meeting.

 
Open Source Security Myths
Open Source Software (OSS) is computer software whose source code is available to the general public with relaxed or non-existent intellectual property restrictions (or arrangement such as the public domain), and is usually developed with the input of many contributors.

 
Power and Cooling Capacity Management for Data Centers
This paper describes the principles for achieving power and cooling capacity management.

 
Scalable, Fault-Tolerant NAS for Oracle - The Next Generation
For several years NAS has been evolving as a storage alternative for Oracle databases, and for good reason: NAS is quite often the simplest, most cost-effective storage approach for Oracle. Learn about the benefits that HP's approach to scalable NAS brings to Oracle environments in this comprehensive white paper.

 
Understanding Web Application Security Challenges
This white paper discusses many common threats and preventive measures for Web application security, and explains what you can do to help protect your organization.

 

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 





© 2003-2009 by Developer Shed. All rights reserved. DS Cluster 3 hosted by Hostway
Stay green...Green IT