Yes, I do get the idea, and the logic looks good.  I won't have the opportunity 
to test it out until this evening, but this 'should' do the trick.  I will 
probably add a WHERE statement in the first query -- something like, WHERE 
ForYear=2012.

Thanks, Nick...really.


-----Original Message-----
From: Eric Nicholas Sweeney [mailto:[email protected]]
Sent: Thursday, February 02, 2012 2:02 PM
To: cf-newbie
Subject: RE: CF-NEWBIE: SQL subquery issues


You might try this in TWO queries -

Query One - Get the MemberIDs (Or Emails) of people who paid

<cfquery name=" MyQry " datasource="#Application.DSN#"
username="#Application.username#" password="#Application.password#">
                        SELECT MemberID
                        FROM PaymentTable </cfquery>

Save those Member IDs to a List <cfset variables.MemberIDList = 
ValueList(MyQry.MemberID)>

Query Two Get Members whose ID NOT IN (variables.MemberIDList)

<cfquery name="QryNonPayers" datasource="#Application.DSN#"
username="#Application.username#" password="#Application.password#">
                        SELECT Email
                        FROM MemberTable

                            WHERE MemberID NOT IN (variables.MemberIDList) 
</cfquery>

Not tested - but you should get the idea...

- Nick



-----Original Message-----
From: Martin, Donna M [mailto:[email protected]]
Sent: Thursday, February 02, 2012 7:42 AM
To: cf-newbie
Subject: CF-NEWBIE: SQL subquery issues


Dear all,



Okay...It's been a very rough January, and am having a minor brain meltdown.
I'm just not coming up with the solution for the following the scenario:



I have a PAYMENT table that has a record for each year paid.  All I want to
do is come up with a listing of names with email's in the MEMBER table who
have not paid for 2012.



I'm about to reveal my feable attempt, so here's my code at this point:



<cfquery name="Unpaid2012" datasource="#datasource#">  SELECT T.TblName_seq,
Email, FName, MName, LName, JrSr, Degree, P.ForYear from (TblName T  LEFT
JOIN Payment P
     ON T.Tblname_seq=P.TblName_seq)
    WHERE T.TblName_seq <> (SELECT TblName_seq From Payment WHERE
ForYear=2012) </cfquery>



 Obviously, I cannot have  the '<>' operator in a subquery with multiple
returns, yes?  But how do I fix this?



I would great appreciate it if anyone could help out...



Thanks in advance.

Donna









________________________________

This e-mail message (including any attachments) is for the sole use of the
intended recipient(s) and may contain confidential and privileged
information. If the reader of this message is not the intended recipient,
you are hereby notified that any dissemination, distribution or copying of
this message (including any attachments) is strictly prohibited.

If you have received this message in error, please contact the sender by
reply e-mail message and destroy all copies of the original message
(including attachments).






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-newbie/message.cfm/messageid:5785
Subscription: http://www.houseoffusion.com/groups/cf-newbie/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-newbie/unsubscribe.cfm

Reply via email to