Listing 2: EXPLICIT Query with Correct Sort Order SELECT 1 AS TAG, 0 AS parent, _Q1._TBIPEAHLBA AS [Employee!1!employee_g_emp_id!hide], _Q1._TBIOGAHLBA AS [Employee!1!Name!element], _Q1._TBINDAHLBA AS [Employee!1!pub_id!hide], _Q1.A0 AS [Employee!1!id], NULL AS [Publisher!2!Name!element], NULL AS [Publisher!2!pub_id!hide] FROM (SELECT _QB0.emp_id AS A0, _QB0.pub_id AS _TBINDAHLBA, _QB0.lname AS _TBIOGAHLBA, _QB0.emp_id AS _TBIPEAHLBA FROM employee _QB0) _Q1 UNION ALL SELECT 2, 1, _Q1._TBIPEAHLBA, NULL, _Q1._TBINDAHLBA, _Q1.A0, _Q2._TCIGKMGKBA, _Q2._TCINDAHLBA FROM (SELECT _QB0.pub_name AS _TCIGKMGKBA, _QB0.pub_id AS _TCINDAHLBA FROM publishers _QB0) _Q2, (SELECT _QB0.emp_id AS A0, _QB0.pub_id AS _TBINDAHLBA, _QB0.lname AS _TBIOGAHLBA, _QB0.emp_id AS _TBIPEAHLBA FROM employee _QB0) _Q1 WHERE _Q1._TBINDAHLBA=_Q2._TCINDAHLBA ORDER BY 3, 5, 6, 8, 2, 1 FOR XML explicit, binary base64