Prev: Toggle button vs Command button
Next: employee ID into text box, need to show all ID's that have ck
From: jet04 on 28 May 2010 10:24 This is probably pretty rudimentary but I'm doing an Update Query in 2007 and I am having an issue with my criteria. I have two tables: tbl_1 contains a column with a serial number (14,000 rows) . tbl_2 contains a column with user description information that includes the serial numbers I want to match. (45,000 rows) tbl_1 field: 673567 tbl_2 field: FTN 673567 333, Doe John, W, X, Here is my query in SQL: UPDATE tbl_2, tbl_1 SET tbl_2.[Compare Match] = "Match" WHERE (((tbl_2.Descriptor) Like '*' & [tbl_1]![Serial Number] & '*')); I actually get this query to work with smaller data tables, but there seems to be a conflict with the size of my two tables and the criteria I'm using to do the match (200 rows against 14,000). Any ideas. This really should be jumping out at me but it is not. Thanks.
From: Tom van Stiphout on 28 May 2010 10:42 On Fri, 28 May 2010 14:24:09 GMT, "jet04" <u60414(a)uwe> wrote: Are you getting any errors? I could see that this is slow,because you are creating a carthesian product by selecting tbl_2, tbl1. That produces 14000 * 45000 results, which you then join using a wildcard on both sides. Yes, that may take a while... If the serial number in tbl_2 is in a predictable location or has a predictable format it may be better to pull it out first (e.g. Mid$(Descriptor, 5, 6), store it in a temporary field, and then inner join the two serialno fields. -Tom. Microsoft Access MVP >This is probably pretty rudimentary but I'm doing an Update Query in 2007 and >I am having an issue with my criteria. > >I have two tables: >tbl_1 contains a column with a serial number (14,000 rows) . >tbl_2 contains a column with user description information that includes the >serial numbers I want to match. (45,000 rows) > >tbl_1 field: 673567 >tbl_2 field: FTN 673567 333, Doe John, W, X, > >Here is my query in SQL: >UPDATE tbl_2, tbl_1 >SET tbl_2.[Compare Match] = "Match" >WHERE (((tbl_2.Descriptor) Like '*' & [tbl_1]![Serial Number] & '*')); > >I actually get this query to work with smaller data tables, but there seems >to be a conflict with the size of my two tables and the criteria I'm using to >do the match (200 rows against 14,000). Any ideas. This really should be >jumping out at me but it is not. Thanks.
From: jet04 on 28 May 2010 11:17 Tom, No errors other than the query taking a long time, which you spoke to. The join sounds like what i should have tried in the beginning due to the data size, but was hoping magic would happen. Ha! Thanks. Tom van Stiphout wrote: >Are you getting any errors? >I could see that this is slow,because you are creating a carthesian >product by selecting tbl_2, tbl1. That produces 14000 * 45000 results, >which you then join using a wildcard on both sides. Yes, that may take >a while... >If the serial number in tbl_2 is in a predictable location or has a >predictable format it may be better to pull it out first (e.g. >Mid$(Descriptor, 5, 6), store it in a temporary field, and then inner >join the two serialno fields. > >-Tom. >Microsoft Access MVP > >>This is probably pretty rudimentary but I'm doing an Update Query in 2007 and >>I am having an issue with my criteria. >[quoted text clipped - 16 lines] >>do the match (200 rows against 14,000). Any ideas. This really should be >>jumping out at me but it is not. Thanks.
From: KARL DEWEY on 28 May 2010 11:48 Or instead of storing the results save the query and use it in another query to join fields. -- Build a little, test a little. "Tom van Stiphout" wrote: > On Fri, 28 May 2010 14:24:09 GMT, "jet04" <u60414(a)uwe> wrote: > > Are you getting any errors? > I could see that this is slow,because you are creating a carthesian > product by selecting tbl_2, tbl1. That produces 14000 * 45000 results, > which you then join using a wildcard on both sides. Yes, that may take > a while... > If the serial number in tbl_2 is in a predictable location or has a > predictable format it may be better to pull it out first (e.g. > Mid$(Descriptor, 5, 6), store it in a temporary field, and then inner > join the two serialno fields. > > -Tom. > Microsoft Access MVP > > > >This is probably pretty rudimentary but I'm doing an Update Query in 2007 and > >I am having an issue with my criteria. > > > >I have two tables: > >tbl_1 contains a column with a serial number (14,000 rows) . > >tbl_2 contains a column with user description information that includes the > >serial numbers I want to match. (45,000 rows) > > > >tbl_1 field: 673567 > >tbl_2 field: FTN 673567 333, Doe John, W, X, > > > >Here is my query in SQL: > >UPDATE tbl_2, tbl_1 > >SET tbl_2.[Compare Match] = "Match" > >WHERE (((tbl_2.Descriptor) Like '*' & [tbl_1]![Serial Number] & '*')); > > > >I actually get this query to work with smaller data tables, but there seems > >to be a conflict with the size of my two tables and the criteria I'm using to > >do the match (200 rows against 14,000). Any ideas. This really should be > >jumping out at me but it is not. Thanks. > . >
|
Pages: 1 Prev: Toggle button vs Command button Next: employee ID into text box, need to show all ID's that have ck |