I haven't tested, but maybe something like this?
SELECT productType.*, productRange.*, products.*,
Displayprice = CASE products.cfsalePrice
WHEN products.cfsalePrice = 0 THEN products.rrPrice
ELSE products.cfsalePrice
END
FROM (productType, productRange, products
WHERE productType.prodtypeID = productRange.prpdType
AND productType.prodtypeID = products.pdType
AND productRange.prID = products.pdRange)
AND Displayprice <= 1000
William
--
William E. Seiter
Have you ever read a book that changed your life?
Go to: www.winninginthemargins.com
Enter passkey: goldengrove
Web Developer / ColdFusion Programmer
http://William.Seiter.com
-----Original Message-----
From: Jason Congerton [mailto:[EMAIL PROTECTED]
Sent: Sunday, February 10, 2008 9:16 AM
To: CF-Talk
Subject: Drill Down Problem
Hi
I am working on a product database, and need to drill down the products
using price bands i.e. upto £1000, £1001 to £2500 etc.
My problem is; the database table has two fields for pricing info, an RRP
and a sale price. The RRP price has to stay intact and can not be changed to
the sale price. (If the product is not on offer the sale price field remains
at £0.00.) If i use the following clause i get all the products, quite
rightly as the sale price field is less than 1000
AND (((products.rrPrice)<=1000)) OR (((products.cfsalePrice)<=1000))
so i added this
AND (((products.cfsalePrice) > 0))
This now returns all products with an RRP less than 1000, great!! However,
this will not return a product with a sale price of £800, and a RRP of
£1250, which is right!! Because the RRP is greater than 1000, but i need it
to return the on sale products as well, regardless that the RRP is still
higher than 1000. I hope this make sense. Any help would be appreciated.
Full query below;
cfquery name="getProducts" datasource="#application.dsn#">
SELECT productType.*, productRange.*, products.*
FROM (productType INNER JOIN productRange ON productType.prodtypeID =
productRange.prpdType) INNER JOIN products ON (productType.prodtypeID =
products.pdType) AND (productRange.prID = products.pdRange)
WHERE 0=0 AND (products.pdArchive) = 0
AND (((products.rrPrice)<=1000)) OR (((products.cfsalePrice)<=1000))
AND (((products.cfsalePrice) > 0))
</cfquery>
Jason
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to
date
Get the Free Trial
http://ad.doubleclick.net/clk;160198600;22374440;w
Archive:
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:298674
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4