Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
NguyenL71
Posting Yak Master
228 Posts |
Posted - 2009-11-19 : 11:10:42
|
| SQL2005/2008. I have a #stageaddr table and need to compare the address with AddrData table and return the loannum and correct adddress fro AddrData table. The trick is #stageAddr has a lot of garbage data which I import from Excel. Here is the business rules below and desire results as well. Any help would greatly appreciate. IF OBJECT_ID('Tempdb.dbo.#AddrData', 'u') IS NOT NULL DROP TABLE #AddrDataGOCREATE TABLE #AddrData( LoanNum VARCHAR(10) NULL, PropertyAddr1 VARCHAR(60) NULL, PropertyAddr2 VARCHAR(60) NULL)goINSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('113797', '770 CALIFORNIA AVE');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('111671', '10017 SKYRIDGE RD');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('100149', '10229 SW 227 Street');INSERT #AddrData (LoanNum, PropertyAddr2)VALUES ('101481', '108 OREGON TRAIL');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('101613', '14 Selbourne Path');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('111621', '1766 SW BRISBANE STREET');goIF OBJECT_ID('Tempdb.dbo.#StageAddr', 'u') IS NOT NULL DROP TABLE #StageAddrGOCREATE TABLE #StageAddr( Addr VARCHAR(60) NULL)go INSERT #StageAddr (Addr) VALUES ('770 California Avenue , 93065'); INSERT #StageAddr (Addr) VALUES ('770 california avenue,'); INSERT #StageAddr (Addr) VALUES ('10017 SKYRIDGE RD,'); INSERT #StageAddr (Addr) VALUES ('10229 SW 227 STREET , 33190'); INSERT #StageAddr (Addr) VALUES ('10229 SW 227 STREET,'); INSERT #StageAddr (Addr) VALUES ('108 oregon trail waxahachie, TX'); INSERT #StageAddr (Addr) VALUES ('108 oregon trail , waxahachie TX'); INSERT #StageAddr (Addr) VALUES ('14 SELBOURNE PATH PALM COAST, FL'); INSERT #StageAddr (Addr) VALUES ('14 SELBOURNE PATH, PALM COAST FL'); INSERT #StageAddr (Addr) VALUES ('14 SELBOURNE PATH PALM COAST, FL'); INSERT #StageAddr (Addr) VALUES ('14 SELBOURNE PATH, PALM COAST FL'); INSERT #StageAddr (Addr) VALUES ('1766 SW BRISBANE STREET,'); INSERT #StageAddr (Addr) VALUES ('1777 ala moana blvd #938 , 96815,'); INSERT #StageAddr (Addr) VALUES ('1777 ala moana blvd #938,');go-- Rules: Compare Addr from #stageAddr table with Addressproperty1 or addressproperty2 in #AddrData, If the Addressproperty1 is null check for addressproperty2 and return the address alonge with loannum. SELECT * FROM #AddrData --WHERE Address LIKE '10017 SKYRIDGE RD%' go SELECT Addr FROM #StageAddr go -- Result want:LoanNum Addr ---------- --------------------------113797 770 CALIFORNIA AVE 111671 10017 SKYRIDGE RD 100149 10229 SW 227 Street 101481 108 OREGON TRAIL 101613 14 Selbourne Path 111621 1766 SW BRISBANE STREET |
|
|
Vinnie881
Master Smack Fu Yak Hacker
1231 Posts |
Posted - 2009-11-19 : 11:57:37
|
IF OBJECT_ID('Tempdb.dbo.#AddrData', 'u') IS NOT NULLDROP TABLE #AddrDataGOCREATE TABLE #AddrData(LoanNum VARCHAR(10) NULL,PropertyAddr1 VARCHAR(60) NULL,PropertyAddr2 VARCHAR(60) NULL)goINSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('113797', '770 CALIFORNIA AVE');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('111671', '10017 SKYRIDGE RD');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('100149', '10229 SW 227 Street');INSERT #AddrData (LoanNum, PropertyAddr2)VALUES ('101481', '108 OREGON TRAIL');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('101613', '14 Selbourne Path');INSERT #AddrData (LoanNum, PropertyAddr1)VALUES ('111621', '1766 SW BRISBANE STREET');goIF OBJECT_ID('Tempdb.dbo.#StageAddr', 'u') IS NOT NULLDROP TABLE #StageAddrGOCREATE TABLE #StageAddr(Addr VARCHAR(60) NULL)goINSERT #StageAddr (Addr)VALUES ('770 California Avenue , 93065');INSERT #StageAddr (Addr)VALUES ('770 california avenue,');INSERT #StageAddr (Addr)VALUES ('10017 SKYRIDGE RD,');INSERT #StageAddr (Addr)VALUES ('10229 SW 227 STREET , 33190');INSERT #StageAddr (Addr)VALUES ('10229 SW 227 STREET,');INSERT #StageAddr (Addr)VALUES ('108 oregon trail waxahachie, TX');INSERT #StageAddr (Addr)VALUES ('108 oregon trail , waxahachie TX');INSERT #StageAddr (Addr)VALUES ('14 SELBOURNE PATH PALM COAST, FL');INSERT #StageAddr (Addr)VALUES ('14 SELBOURNE PATH, PALM COAST FL');INSERT #StageAddr (Addr)VALUES ('14 SELBOURNE PATH PALM COAST, FL');INSERT #StageAddr (Addr)VALUES ('14 SELBOURNE PATH, PALM COAST FL');INSERT #StageAddr (Addr)VALUES ('1766 SW BRISBANE STREET,');INSERT #StageAddr (Addr)VALUES ('1777 ala moana blvd #938 , 96815,');INSERT #StageAddr (Addr)VALUES ('1777 ala moana blvd #938,');goSELECT distinct a.LoanNum,coalesce(a.PropertyAddr1,PropertyAddr2) as AddrFROM #AddrData aInner Join #StageAddr bon b.Addr like '%' + rtrim(a.PropertyAddr1) + '%'or b.Addr like '%' + rtrim(a.PropertyAddr2) + '%'--WHERE Address LIKE '10017 SKYRIDGE RD%'go Success is 10% Intelligence, 70% Determination, and 22% Stupidity.\_/ _/ _/\_/ _/\_/ _/ _/- 881 |
 |
|
|
|
|
|
|
|