Ni en sql server ni en ninguna base de datos, permitirá hacer una operación con un select si tiene varios registros de salida.
Analiza lo siguiente..
vos queres restar a cantidad el resutado de esa consulta que te genera varias salidas? Con cual de los 3 registros que te bota la consulta quieres hacer la resta?
Si es con la suma de los tres, utiliza la función sum y veras como te funciona.
Código sql:
Ver originalUPDATE Table_1
SET cantidad = cantidad-(SELECT SUM(cont) FROM (Table_1 AS uno INNER JOIN Table_3 AS tres
ON uno.id=tres.cla1) INNER JOIN Table_2 AS dos
ON dos.id=tres.cla2
WHERE dos.nombre='p1')