Try this:
...
FROM
tbl_ForSaleCategories C
INNER JOIN (
tbl_RecentlyViewed RV
INNER JOIN
tbl_ForSale FS
ON RV.ID = FS.ID
)
ON C.ID = FS.Category_ID
LEFT JOIN
tbl_CoverSpecial CS
ON RV.ID = CS.ID
WHERE CS.ID IS NULL
AND FS.Active = 1
ORDER BY Date_Viewed ASC;
Mark Henderson wrote:
> Greetings from the chilly south,
>
> I have this query and it returns the expected result set, but I can't
> work out how to use a join instead of the NOT IN clause and I *know*
> that is going to be more efficient. Basically, I want to exclude the
> current special from the result set. Any ideas?
>
> <cfquery name="qGetRecentRecord" datasource="#request.dsn#">
> SELECT
> TOP 1
> RV.ID AS RecID
> ,RV.Date_Viewed
> ,FS.ID
> ,FS.Category_ID
> ,FS.Title
> ,FS.Comment
> ,FS.Thumbnail
> ,FS.Photo
> ,FS.Price
> ,FS.Year
> ,FS.Date_Modified
> ,FS.Active
> ,C.Name As Category_Name
> ,C.Image_Path
> ,C.Image_Dir
> FROM
> tbl_ForSaleCategories C
> INNER JOIN (
> tbl_RecentlyViewed RV
> INNER JOIN
> tbl_ForSale FS
> ON RV.ID = FS.ID
> )
> ON C.ID = FS.Category_ID
> WHERE RV.ID NOT IN (
> SELECT ID
> FROM tbl_CoverSpecial
> )
> AND FS.Active = 1
> ORDER BY Date_Viewed ASC;
> </cfquery>
>
> All help appreciated. TIA
>
>
> adieu
> Mark
> -------*/
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Want to reach the ColdFusion community with something they want? Let them know
on the House of Fusion mailing lists
Archive:
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:325678
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4