Way back in February, an old job asked me to try and parse City-owned and Leased Property (COP) in NYC from an Open Data file listing COPs in the five boroughs. The struggle with uniting this list with a tax map to visualize city property was that the city identifies parcels with a BBL - Borough, Block, and Lot identifier - and in the City-owned and Leased Property list, the BBL was recording as a single attribute. MapPLUTO's, the city's tax lot database represents the BBL as three discrete attributes.
Unfortunately, even after I generated three discrete BBL attributes in each layer, GIS barely accommodates joining two layers by more than one common attribute. After plenty of experimentation, I can report the best way to accomplish this is a Make Query Layer tool with a quick SQL expression.
These were my specific methods to join the tables and isolate the COPs:
(1) Get City-owned and Leased Property (COP) list.
(2) Get Manhattan MapPLUTO parcel info (MNMapPLUTO).
(3) Add "Borough_1" field to MNMapPLUTO and use field calculator to make "Borough_1"="1" where "Borough"="MN" to make sure the borough identifier is common - 1 for MN - among the COP table and MapPLUTO layer.
(4) The parcels and COP table can be joined by their BBL (Borough, Block, Lot) numbers but unfortunately the BBL# is stored as three separate attributes, so use "Make Query Layer" tool to join the fields by their three respective attributes, using the SQL expression: ("COP.borough"="MapPLUTO.borough" AND "COP.block"="MapPLUTO.block" AND "COP.lot"="MapPLUTO.lot").
(5) Import new query layer into filegeodatabase.
Message me for final COP shapefile.