If someone asked you where you bought something, you could say,
I got it at Walmart.
but what if instead of referring to a store you were referring to a city?
Would you say,
I got it at Chicago.
I got it in Chicago.
Somehow when referring to a city, using "in" instead of "at" seems more appropriate. Am I right? Why is that?