Seguro este tema ya se abordó antes, sólo que no he sabido cómo llegar a él.
Tengo problemas con el resultado de una consulta para seleccionar todo, excepto los que tenga que excluir. Tengo las siguientes tres consultas, no se cómo resolver la número 3:
Consulta 1.- Seleccionar todas las empresas por servicio que den Consultoría. Aquí no tengo problemas.
Consulta 2.- Seleccionar todas las empresas por servicio que den Mantenimiento. Aquí tampoco tengo problemas.
Consulta 3.- Seleccionar todas las empresas que den servicios, pero excluir las que den Consultoría y Mantenimiento. Aquí es donde tengo problema.
Tengo una tabla empresas
Código:
y otra tabla servicios, idempresa | nombreEmpresa 1 | Empresa A 2 | Empresa B 3 | Empresa C 4 | Empresa D 5 | Empresa E
Código:
idservicio | tipoServicio 1 | consultoria 2 | mantenimiento 3 | refacciones 4 | herrería 5 | carpinteria 6 | plomería 7 | albañilería
para vincular todos los servicios que ofrece una empresa lo hago con la tabla servicios_empresa
Código:
En la consulta 1, seleccionar las que ofrecen consultoría, lo resuelvo así:idempresa | idservicio 1 | 1 1 | 3 1 | 6 2 | 3 2 | 7 2 | 5 3 | 1 4 | 2 5 | 2 5 | 3
Código:
En la consulta 2, seleccionar las que ofrecen mantenimiento, lo resuelvo así:SELECT em.idempresa, em.nombreEmpresa, ser.idservicio, ser.tipoServicio FROM empresas AS em, servicios AS ser, servicios_empresa AS serem WHERE em.idempresa = serem.idempresa AND ser.idservicio = serem.idservicio AND ser.idservicio= 1
Código:
En la consulta 3 debo seleccionar todos, excepto los que tienen el idservicio 1 y 2. SELECT em.idempresa, em.nombreEmpresa, ser.idservicio, ser.tipoServicio FROM empresas AS em, servicios AS ser, servicios_empresa AS serem WHERE em.idempresa = serem.idempresa AND ser.idservicio = serem.idservicio AND ser.idservicio= 2
¿Podrían ayudarme?
Gracias por adelantado.