Kaup, Chester
Chester_Kaup at kindermorgan.com
Wed Mar 10 16:02:03 CST 2010
RecordDate and ProductionMonth contain the same data. Something I forgot to mention. Query 1 is from an Access 2003 database and Query 2 is from an Access 2007 database. The access 2007 database is basically a copy of the Access 2003 database. -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Hewson Sent: Wednesday, March 10, 2010 2:49 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] 2 Queries different results Should it make a difference that in query 1 you are using RecordDate and in query 2, ProductionMonth is being used. Not sure if this makes a difference or not, but the last field name of each result set are different. Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Kaup, Chester Sent: Wednesday, March 10, 2010 2:35 PM To: Access Developers discussion and problem solving Subject: [AccessD] 2 Queries different results I have two queries in 2 different databases that use the same source data but return different results. I am failing to see the difference. Here is the data for the first query. PID SDate Chase_Start_Date SDate_2 Chase_Start_Date_2 PAT 140-5 01-Dec-03 01-Mar-07 01-Feb-08 01-Aug-09 Here is the data for the second query PID SDate Chase_Start_Date SDate_2 Chase_Start_Date2 PAT 140-5 01-Dec-03 01-Mar-07 01-Feb-08 01-Aug-09 Here is the first query: SELECT DISTINCT [tbl Injection Data for Allocation].Well_in_CO2PAT, [tbl Injection Data for Allocation].RecordDate, [tbl Injection Data for Allocation].Other_Pattern_as_Well, IIf([RecordDate]<=[Chase_Start_Date] Or [Chase_Start_Date] Is Null Or [RecordDate]>=[SDate_2] And [RecordDate]<[Chase_Start_Date_2],1, IIf([RecordDate]>[Chase_Start_Date] And [RecordDate]<Nz([SDate_2],#1/1/2100#), DateDiff("m",[Chase_Start_Date],[RecordDate]), IIf([RecordDate]>[Chase_Start_Date_2], DateDiff("m",[Chase_Start_Date_2], [RecordDate]),1))) AS [Months on Chase Water] FROM [tbl Injection Data for Allocation] INNER JOIN [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr RecordDate] ON ([tbl Injection Data for Allocation].Other_Pattern_as_Well = [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr RecordDate].Other_Pattern_as_Well) AND ([tbl Injection Data for Allocation].Well_in_CO2PAT = [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr RecordDate].Well_in_CO2PAT) WHERE ((([tbl Injection Data for Allocation].Well_in_CO2PAT)="139-3") AND (([tbl Injection Data for Allocation].RecordDate)=#1/1/2010#) AND (([tbl Injection Data for Allocation].Other_Pattern_as_Well)="140-5")) ORDER BY [tbl Injection Data for Allocation].RecordDate, [tbl Injection Data for Allocation].Other_Pattern_as_Well; Query Result. This is the correct answer: Well_in_CO2PAT RecordDate Other_Pattern_as_Well Months on Chase Water 139-3 1/1/2010 140-5 5 Here is the second query: SELECT DISTINCT [tbl Injection Data for Allocation].Well_in_CO2PAT, [tbl Injection Data for Allocation].ProductionMonth, [tbl Injection Data for Allocation].Other_Pattern_as_Well, IIf([ProductionMonth]<=[Chase_Start_Date]Or [Chase_Start_Date] Is Null Or [ProductionMonth]>=[SDate_2]And [ProductionMonth]<[Chase_Start_Date2],1, IIf([ProductionMonth]>[Chase_Start_Date] And [ProductionMonth]<Nz([SDate_2],#1/1/2100#), DateDiff("m",[Chase_Start_Date],[ProductionMonth]), IIf([ProductionMonth]>[Chase_Start_Date2], DateDiff("m",[Chase_Start_Date2], [ProductionMonth]),1))) AS [Months on Chase Water] FROM [tbl Injection Data for Allocation] INNER JOIN [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr ProductionMonth] ON ([tbl Injection Data for Allocation].Other_Pattern_as_Well = [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr ProductionMonth].Other_Pattern_as_Well) AND ([tbl Injection Data for Allocation].Well_in_CO2PAT_API = [qry Prod Ctr Patt to Chase Wtr Alloc & Chase Wtr ProductionMonth].Well_in_CO2PAT_API) WHERE ((([tbl Injection Data for Allocation].Well_in_CO2PAT)="139-3") AND (([tbl Injection Data for Allocation].ProductionMonth)=#1/1/2010#) AND (([tbl Injection Data for Allocation].Other_Pattern_as_Well)="140-5")) ORDER BY [tbl Injection Data for Allocation].ProductionMonth, [tbl Injection Data for Allocation].Other_Pattern_as_Well; Query Result. Wrong answer Well_in_CO2PAT ProductionMonth Other_Pattern_as_Well Months on Chase Water 139-3 1/1/2010 140-5 1 139-3 1/1/2010 140-5 5 139-3 1/1/2010 140-5 21 The query appears to be returning months on chase water value 1 as if it never had an SDate, the months between SDate2 and January 2010 and the months between Chase_Start_Date2 and January 2010. Thanks for any help. Chester Kaup Engineering Technician Kinder Morgan CO2 Company, LLP Office (432) 688-3797 FAX (432) 688-3799 No trees were killed in the sending of this message. However a large number of electrons were terribly inconvenienced. -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com