table join one to many

5069
10
01-08-2015 01:36 PM
johnpolo
New Contributor III

I have a shapefile of points that are survey points for trees. I have a table that is imported from a .csv that holds prism counts for the points where trees were found. So some of the points have multiple records of trees and some of the points have no records, because no trees were within range. I want to join the prism data to the points in the shapefile. I came across this blog post and I'm attempting the steps given. Step 3 says:

"Click SQL. Write a statement similar to the one in the following graphic. This statement is basically saying, give me all records that match between the table and the feature class. Click OK."

There is a graphic of an SQL window with the statement " tracts.Name = Store2.Tract ". It seems those are field names for the example. So, in my situation, I have fields that are point numbers and the same field is present in the shapefile and the table. I was going to shapefile and table by this field. Using the Query Builder, I form the statement " "GruberGPSlocationsfinal.PT" = "GruberData_Prism_workwiththis_csv.Point" ". The field names populated with the quotes around them, I did not use them. I mention the quotes because the example in the graphic of the blog post shows no quotations marks. When I try to verify the statement, the following error comes up:

"There was an error with the expression.

An expected Field was not found or could not be retrieved properly.

An expected Field was not found or could not be retrieved properly.

[GruberData_Prism_workwiththis_csv]"

The offending field comes from the table I imported and is listed in the Query Builder window, which makes me think it's accessible. I can open up the Attribute Table from the TOC, so it seems to me that Arc should know what it is. Any ideas on what I'm doing wrong?

Tags (2)
0 Kudos
10 Replies
johnpolo
New Contributor III

James,

Thanks so much for all of the help!

"Also, if the PT doesn't join, then check and make sure they are formatted either as number or text."

This was the problem. PT was a double and POINT was a string. I copied into a new field that was double and the join worked fine. Got my many to one or one to many or whathaveyou and now it all does was I want.

much obliged.