TAP lets you upload your own tables into the server for the duration of the query.
Note that not all servers already support uploads. If one doesn’t, politely ask the operators for it.
Example: Add proper motions to an object catalog giving positions reasonably close to J2000; grab some table, e.g., ex.vot from the HTML version of this page, load it into TOPCAT, go to the TAP window and there say:
SELECT mine.*, ppmxl.pmra, ppmxl.pmde FROM ppmxl.main AS ppmxl JOIN tap_upload.t1 AS mine ON DISTANCE ( POINT(ppmxl.raj2000, ppmxl.dej2000), POINT(mine.raj2000, mine.dej2000)) < 0.001
You must replace the 1 in tap_upload.t1 with the index of the table you want to match.
You may also need to adjust the column names of RA and Dec for your table, and the match radius.
Always take into account that positions in you upload table use the same coordinate system as the remote table, and also pay attention to the epoch.
If you have some data of your own, try getting it into TOPCAT and try this with it (but that’s really more of a TOPCAT problem).