Tus consultas son inconsistentes. En pocas palabras, no tienen sentido.
Si la tabla SUCURSALES tiene su PK como ID_SUC, la cual determina el número de sucursal en cuestión, y se vinculan a los municipios por el campo ID_MUN, entonces estás relacionando caballso con manzanas cuando haces:
Código SQL:
Ver originalSELECT * FROM sucursales
WHERE id_mun IN (SELECT id_suc FROM sucursales WHERE id_suc = xxxx)
porque intentas relacionar el ID del MUNICIPIO con el ID de la SUCURSAL.... son datos diferentes. No representan lo mismo.
Por otro lado, cuando haces esto:
no estás escribiendo SQL. Puede ser cualquier cosa, incluso Smalltalk, pero NO ES SQL.
Si lo que quieres es que te devuelva todas las sucursales de un municipio, la cosa necesita la tabla de municipios. Algo como:
Código SQL:
Ver originalSELECT s.*
FROM sucursales S
INNER JOIN municipios M ON S.id_mun M-id_mun;