close ad
WARNING PC USERS: Do Not Install the DREAMWEAVER CC 2017 Update »
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

How to write a Nested SQL Query

Thread began 5/20/2015 11:40 pm by stephen287384 | Last modified 5/27/2015 1:50 pm by Ray Borduin | 1176 views | 34 replies |

stephen287384

How to write a Nested SQL Query

I am trying to filter search results into 2 separate results on one page. Eg: I have paid customers and free customers, I want the paid customers results to be at the top of the page BUT I want them to be ORDER BY RAND() and the free customers results below the paid customers ORDER BY name ASC. I have tried to achieve this by a nested SQL Query, eg:

$rsResult->setQuery("SELECT * FROM (SELECT bID, Name)AS paid FROM directory WHERE Category = ? AND Link = 1 AND Active = 1, (SELECT bID, Name)AS free FROM directory WHERE Category = ? AND Link = 0 AND Active = 1 ORDER BY free ASC, paid RAND()");


Would it be easier to just create 2 separate recordsets to achieve this?

Sign in to reply to this post

Ray BorduinWebAssist

I think what you are looking for is more like:

SELECT * FROM (
(SELECT bID, Name, 'paid' AS status FROM directory WHERE Category = ? AND Link = 1 AND Active = 1)
UNION
(SELECT bID, Name, 'free' AS status FROM directory WHERE Category = ? AND Link = 0 AND Active = 1))
ORDER BY bID
Sign in to reply to this post

stephen287384

Don't understand how that will order the "paid" results randomly and the "free" results by name ASC

Sign in to reply to this post

Ray BorduinWebAssist

It wouldn't... I didn't understand what you were going for there so I didn't tackle the sorting part.

Did you want all the paid first but in a random order, and the free after ordered by name? Or should they be intermingled in some way as well?

Sign in to reply to this post

stephen287384

Basically just want the paid results to be at the top but displayed randomly as to be fair so a name starting with A would not always be the first result and then the free results to always be below all the paid results as they are not paying anything. The free results can be ordered by name ASC.

Sign in to reply to this post

Ray BorduinWebAssist

SELECT bID, Name, 'paid' AS status FROM directory WHERE Category = ? AND Link = 1 AND Active = 1 ORDER BY Rand()
UNION
SELECT bID, Name, 'free' AS status FROM directory WHERE Category = ? AND Link = 0 AND Active = 1 ORDER BY Name
Sign in to reply to this post

stephen287384

Error in SQL syntax

Sign in to reply to this post

Ray BorduinWebAssist

Please attach a copy of the page and a URL where I can view the error.

Sign in to reply to this post

stephen287384

PM

Sign in to reply to this post

Ray BorduinWebAssist

Do you have a url? When do you get the error?

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...