Hola Foxaurus:
Según los datos que pusiste de ejemplo y la explicación del problema, el resultado entonces tendrían que ser los hoteles 1 y 3 (o 101 y 103 por sus claves) ya que el hotel 2 posee sólo el servicio 202 pero no el 204 correcto???
Creo que la consulta quedaría más o menos así:
Código:
select * from HOTEL_SERVICIO where
CHotel in (
select CHotel from HOTEL_SERVICIO where Cser = 202
) and Cser = 204
Lo único que te faltaría por hacer sería un INNER JOIN con la tabla HOTEL para obtener la descripción del Hotel.
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.08 sec)
mysql
> insert into HOTEL
values (101, 'Hotel1'), (102, 'Hotel2'), (103, 'Hotel3'), (104, 'Hotel4');
Query OK, 4 rows affected (0.05 sec)
+--------+--------+
| Chotel | Nhotel |
+--------+--------+
| 101 | Hotel1 |
| 102 | Hotel2 |
| 103 | Hotel3 |
| 104 | Hotel4 |
+--------+--------+
Query OK, 0 rows affected (0.09 sec)
205),(101, 208),(102, 201),(102, 202),(103, 202),(103, 204),(103, 207),(104, 201
),(104, 203);
Query OK, 12 rows affected (0.03 sec)
+--------+------+
| Chotel | Cser |
+--------+------+
| 101 | 201 |
| 101 | 202 |
| 101 | 204 |
| 101 | 205 |
| 101 | 208 |
| 102 | 201 |
| 102 | 202 |
| 103 | 202 |
| 103 | 204 |
| 103 | 207 |
| 104 | 201 |
| 104 | 203 |
+--------+------+
12 rows
in set (0.00 sec
)
+--------+
| Chotel |
+--------+
| 101 |
| 103 |
+--------+
mysql>
EDITADO: No se me había ocurrido la solución que plantea el compañero jurena, pero me parece más optima que la que propuse. Enhorabuena
Saludos
Leo