You just keep adding joins to the child table based on the condition that the Foreign Key column in each child table equals the key of Table1
You're query should look like this
Select Table1.ID
From Table1
JOIN Table2 ON Table2.FK_ID = Table1.ID
JOIN Table3 ON Table3.FK_ID = Table1.ID
JOIN Table4 ON Table4.FK_ID = Table1.ID
WHERE Table2.Tag IN( 1,2,3,4)
AND ( Table3.Code In (456,789) OR Table4.CODE2 in (123,897) )
But with FK_ID replaced with the appropriate Foreign Key field