Hola a todos,
Tengo que hacer un ejercicio que me esta dando problemas en mysql.
Teniendo tres tablas:
Código SQL:
Ver originalHOTEL (CodHot, nombre, direccion, ciudad, telefono, num_plazas, CodSuc)
ON {CodSuc} REFERENCIA SUCURSAL (CodSuc)
TURISTA (CodTur, nombre, apellidos, direecion, telefono, CodSuc)
ON {CodSuc} REFERENCIA SUCURSAL (CodSuc)
ALOJAMIENTO (CodTur, fecha_ini, CodHot, facha_salida, regimen)
ON {CodTur} REFERENCIA TURISTA (CodTur)
ON {CodHot} REFERENCIA HOTEL (CodHot)
El ejercicio dice que por cada por cada alojamiento contratado muestre los apellidos y nombres del turista en una columna seperada(ejemplo Sil Sil, Anotnio), nombre del hotel en mayusculas, fecha de inicio y el numero de dias que se ha alojado. Ordenado por nombre del hotel y despues por los apellidos.
Mi problema viene en que se repite muchas veces:
Código MySQL:
Ver original+--------+-----------------------------+--------------------+------------+------
+
| CodTur
| concat(t.cognoms
,',',t.nom
) | UPPER(h.nom
) | data_ini
| dies
|
+--------+-----------------------------+--------------------+------------+------
+
| 5 | Capdevila Sánchez,Laia | GRAN HOTEL | 2013-09-01 | 19
|
| 4 | Comas Garcia,Laia | GRAN HOTEL | 2013-09-01 | 1
|
| 4 | Comas Garcia,Laia | GRAN HOTEL | 2013-09-03 | 1
|
| 4 | Comas Garcia,Laia | GRAN HOTEL | 2013-09-05 | 1
|
| 4 | Comas Garcia,Laia | GRAN HOTEL | 2013-09-07 | 1
|
| 1 | Miralles Garcia,Albert | GRAN HOTEL | 2013-09-01 | 2
|
| 1 | Miralles Garcia,Albert | GRAN HOTEL | 2013-09-04 | 2
|
| 1 | Miralles Garcia,Albert | GRAN HOTEL | 2013-09-07 | 3
|
| 3 | Royo Royo,Josep Mª | GRAN HOTEL | 2013-09-01 | 3
|
| 3 | Royo Royo,Josep Mª | GRAN HOTEL | 2013-09-06 | 4
|
| 2 | Sánchez Pérez,Adrià | GRAN HOTEL | 2013-09-01 | 3
|
| 2 | Sánchez Pérez,Adrià | GRAN HOTEL | 2013-09-07 | 4
|
| 5 | Capdevila Sánchez,Laia | HOTEL DIAGONAL MAR | 2013-09-01 | 19
|
| 4 | Comas Garcia,Laia | HOTEL DIAGONAL MAR | 2013-09-01 | 1
|
| 4 | Comas Garcia,Laia | HOTEL DIAGONAL MAR | 2013-09-03 | 1
y continua todos los turistas aparecen como si hubiesen estado en todos los hotesles.
Cuando si voy a la tabla de alojamiento me encuntro con esto:
Código MySQL:
Ver original+--------+------------+--------+--------------+-------------------+
| CodTur | data_ini | CodHot | data_sortida | regim |
+--------+------------+--------+--------------+-------------------+
| 1 | 2013-09-01 | 100 | 2013-09-03 | mitja pensió |
| 1 | 2013-09-04 | 103 | 2013-09-06 | mitja pensió |
| 1 | 2013-09-07 | 105 | 2013-09-10 | pensió complerta |
| 2 | 2013-09-01 | 100 | 2013-09-04 | mitja pensió |
| 2 | 2013-09-07 | 103 | 2013-09-11 | mitja pensió |
| 3 | 2013-09-01 | 100 | 2013-09-04 | mitja pensió |
| 3 | 2013-09-06 | 103 | 2013-09-10 | mitja pensió |
| 4 | 2013-09-01 | 100 | 2013-09-02 | pensió complerta |
| 4 | 2013-09-03 | 103 | 2013-09-04 | pensió complerta |
| 4 | 2013-09-05 | 105 | 2013-09-06 | pensió complerta |
| 4 | 2013-09-07 | 101 | 2013-09-08 | pensió complerta |
| 5 | 2013-09-01 | 100 | 2013-09-20 | pensió complerta |
+--------+------------+--------+--------------+-------------------+
Esta es la tabla entera de hotel
Código MySQL:
Ver original12 rows
in set (0.00 sec
)
+--------+--------------------+---------------+---------------+-----------+-----
-------+--------+
| CodHot | nom | adreca | ciutat | telefon | num_
places | CodSuc |
+--------+--------------------+---------------+---------------+-----------+-----
-------+--------+
| 100 | Hotel Gran via | Gran Via | Barcelona | 931234567 |
120 | 100 |
| 101 | Hotel Diagonal Mar | Diagonal | Barcelona | 932345678 |
100 | 100 |
| 102 | Gran Hotel | C/ Mondragón | Barcelona | 933456789 |
90 | 100 |
| 103 | Gran Hotel | C/ Llull | Girona | 934567890 |
60 | 101 |
| 104 | Hoteles Hilken | C/ Llacuna | Girona | 935678901 |
30 | 101 |
| 105 | Gran Hotel | C/ Bonavista | Castelldefels | 936789012 |
120 | 101 |
+--------+--------------------+---------------+---------------+-----------+-----
-------+--------+
A ver si alguien me puede ayudar gracias,