Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 410135
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T17:51:32+00:00 2026-05-12T17:51:32+00:00

I’m using the following query to return all records where at least 2 conditions

  • 0

I’m using the following query to return all records where at least 2 conditions match (provided by Quassnoi).

SELECT  *
FROM    (
        SELECT  ContentID
        FROM    (
                SELECT  ContentID
                FROM    VWTenantPropertiesResults
                WHERE   ContentStreet = 'Holderness Road'
                UNION ALL
                SELECT  ContentID
                FROM    VWTenantPropertiesResults
                WHERE   ContentTown = 'Hull'
                UNION ALL
                SELECT  ContentID
                FROM    VWTenantPropertiesResults
                WHERE   ContentPostCode = 'HU'
                ) qi
        GROUP BY
                ContentID
        HAVING  COUNT(*) >= 2
        ) q
JOIN    VWTenantPropertiesResults r
ON      r.ContentID = q.ContentID
WHERE   ContentBedrooms BETWEEN 1 AND 4
        AND ContentPrice BETWEEN 50 AND 500
ORDER BY
        ContentPrice

The problem is that it seems to work when searching for Street and Town (returns all matching properties with the requested street and town), but not when searching for Street and Postcode (returns no results). To get the search for Street and Postcode to work (returning results), I had to remove the following lines;

        UNION ALL
        SELECT  id
        FROM    VWTenantPropertiesResults
        WHERE   ContentTown = 'Hull'

But then obviously the Town and Postcode or Town and Street searches don’t work because i had removed the above 4 lines to get the Street and Postcode search to work.

I wondered if anyone could offer some help with this?

Thank you.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T17:51:32+00:00Added an answer on May 12, 2026 at 5:51 pm

    I’m not sure you should be enforcing the ‘at least two conditions’ criteria down in the database as you should probably never have knowledge of which two have been filled in. Perhaps instead this might work for you – it’s a pattern I use quite often and should cope with any combination of criteria (I’m assuming this is inside a stored proc!):

    DECLARE PROCEDURE PropertyList
    @StreetName NVARCHAR(50) = NULL,
    @Town NVARCHAR(50) = NULL,
    @Postcode NVARCHAR(10) = NULL
    AS
    
    SET NOCOUNT ON
    
    SELECT 
        *
    FROM 
        VWTenantPropertiesResults
    WHERE
        ContentBedrooms BETWEEN 1 AND 4
    AND
        ContentPrice BETWEEN 50 AND 500
    AND
        (@ContentStreet IS NULL OR ContentStreet = @ContentStreet)
    AND 
        (@ContentTown IS NULL OR ContentTown = @ContentTown)
    AND
        (@ContentPostcode IS NULL OR ContentTown = @ContentTown)
    ORDER BY
        ContentPrice
    

    To call this from your ASP page you’ll want some code something like this (this may need a bit of debugging, my ADO & VBScript for ASP is pretty rusty!):

    Dim cnn 'As ADODB.Connection
    Dim cmd 'As ADODB.Command
    Dim prmStreet 'As ADODB.Parameter
    Dim prmTown 'As ADODB.Parameter
    Dim prmPostcode 'As ADODB.Parameter
    Dim rstProperty 'As ADODB.RecordSet
    Dim i 'As Integer
    
    Set cnn = Server.CreateObject("ADODB.Connection")
    
    cnn.ConnectionString = MyConnectionString
    
    Set cmd = Server.CreateObject("ADODB.Command")
    
    Set cmd.ActiveConnection = cnn
    
    'Set the CommandText property to the name of the stored proc we want to call
    cmd.CommandText = "PropertyList"
    cmd.CommandType = 4 'or adCmdStoredProc if you're using ADOVBS.inc
    
    If Request.Form("StreetTextBox") = "" Then
        'No street entered so don't pass it to the stored proc
    Else
        'A street has been entered so create a parameter...
        Set prmStreet = cmd.CreateParameter("@StreetName", 203, 1, 50, Request.Form("StreetTextBox"))
    
        ' and add it to the Parameters collection of the Command object
        cmd.Parameters.Add(prmStreet)
    End If
    
    If Request.Form("TownTextBox") = "" Then
        'No town entered so don't pass it to the stored proc
    Else
        'A town has been entered so create a parameter...
        Set prmTown = cmd.CreateParameter("@Town", 203, 1, 50, Request.Form("TownTextBox"))
    
        ' and add it to the Parameters collection of the Command object
        cmd.Parameters.Add(prmTown)
    End If
    
    If Request.Form("PostcodeTextBox") = "" Then
        'No postcode entered so don't pass it to the stored proc
    Else
        'A postcode has been entered so create a parameter...
        Set prmPostcode = cmd.CreateParameter("@Postcode", 203, 1, 10, Request.Form("PostcodeTextBox"))
    
        ' and add it to the Parameters collection of the Command object
        cmd.Parameters.Add(prmPostcode)
    End If
    
    cnn.Open
    
    'This is the line that'll actually call the stored procedure
    Set rstProperty = cmd.Execute()
    
    cnn.Close
    
    If rstProperty.BOF And rstProperty.EOF Then
        'If BOF And EOF are true then this is an empty recordset - we got no records back
        Response.Write "No records returned"
    Else
        'We have records so write them out into a table
        Response.Write "<table><tr>"
        For i = 0 To rstProperty.Fields.Count - 1
            Response.Write "<td>"
            Response.Write rstProperty.Fields(i).Name
            Response.Write "</td>"
            Response.Write "<td>&nbsp;</td>"
        Next
    
        Response.Write "</tr>"
    
        Do While rstProperty.Eof = False
            Response.Write "<tr>"
            For i = 0 To rstProperty.Fields.Count - 1
                Response.Write "<td>"
                Response.Write rstProperty.Fields(i).Value
                Response.Write "</td>"
            Next
            Response.Write "<td>"
            Response.Write "<a href='ViewDetails.asp?id='" & rstProperty.Fields("PropertyId").Value & "'>View Details for this property</a>"
            Response.Write "</td>"
            Response.Write "</tr>"
            rstProperty.MoveNext
        Loop
    
        Response.Write "</table>"
    End If
    

    This ought to work for any combination of parameters, whether you enter none, some or all of them!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
I'm using v2.0 of ClassTextile.php, with the following call: $testimonial_text = $textile->TextileRestricted($_POST['testimonial']); ... and
I have a text area in my form which accepts all possible characters from
I'm new to using the Perl treebuilder module for HTML parsing and can't figure
That's pretty much it. I'm using Nokogiri to scrape a web page what has
link Im having trouble converting the html entites into html characters, (&# 8217;) i
For some reason, after submitting a string like this Jack’s Spindle from a text
I am reading a book about Javascript and jQuery and using one of the
We're building an app, our first using Rails 3, and we're having to build
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.