Thank you for your question. I ran a simple test query:
SELECT TOP 10 x.id1, x.id2, z.z, s.z
FROM desi_dr1.x1p5__zpix__sdss_dr17__specobj AS x
JOIN desi_dr1.zpix AS z ON z.id = x.id1
JOIN sdss_dr17.specobj AS s ON s.specobjid = x.id2
This returned 10 results as expected; in this case id1 is exactly desi_dr1.zpix.id, and you can use that to obtain any data from the corresponding rows of desi_dr1.zpix. However, desi_dr1.zpix.id is specific to that table and is intended for queries like the one above, rather than being a universal identifier of DESI objects.
To help you further, could you please describe in more detail the sort of query you are attempting to construct?