Condividi:
Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!
Moderatori: Anthony47, Triumph Of Steel, archimede
di Dylan666 » 16/03/21 14:50
Ciao a tutti,
sto lavorando con MSSQL e come al solito sono arrivato a un vicolo cieco.
Ho una tabella così fatta:
- Codice: Seleziona tutto
DATA | CAMERA | MATTINA | POMERIGGIO
01-01-2020 | num.1 | 1 | 1
01-01-2020 | num.2 | 1 | 0
02-01-2020 | num.2 | 0 | 1
Avrei bisogni di trasporre questi dati mettendo le camere e mattin/pomeriggio in orizzonatale (cioè come colonne) raggruppati per data.
L'esempio prima diventerebbe:
- Codice: Seleziona tutto
DATA | CAMERA-1 | MATTINA-1 | POMERIGGIO-1 | CAMERA-2 | MATTINA-2 | POMERIGGIO-2
01-01-2020 | num.1 | 1 | 1 | num.2 | 1 | 0
02-01-2020 | NULL | NULL | NULL | num.2 | 0 | 1
Avevo pensato a un JOIN su se stessa ma non riesco... qualcuno sa aiutarmi?
Grazie
-

Dylan666
- Moderatore
-
- Post: 40186
- Iscritto il: 18/11/03 16:46
di Dylan666 » 29/03/22 09:42
A distanza di tempo lascio la soluzione alla mia stessa domanda
- Codice: Seleziona tutto
SELECT distinct(t0.Data) AS UNIVOCO,
t0.Data,
t1.camera AS camera1,
t1.mattino AS mattino1,
t1.pomeriggio AS pomeriggio1,
t2.camera AS camera2,
t2.mattino AS mattino2,
t2.pomeriggio AS pomeriggio2,
t3.camera AS camera3,
t3.mattino AS mattino3,
t3.pomeriggio AS pomeriggio3,
t4.camera AS camera4,
t4.mattino AS mattino4,
t4.pomeriggio AS pomeriggio4
FROM (SELECT Data
FROM dbo.Gestionecamera) AS t0
FULL OUTER JOIN
(SELECT Data, camera, mattino, pomeriggio
FROM dbo.Gestionecamera AS Gestionecamera_1
WHERE (camera = '1° Piano - camera 1')) AS t1
ON t0.Data = t1.Data
FULL OUTER JOIN
(SELECT Data, camera, mattino, pomeriggio
FROM dbo.Gestionecamera AS Gestionecamera_1
WHERE (camera = '1° Piano - camera 2')) AS t2
ON t0.Data = t2.Data
FULL OUTER JOIN
(SELECT Data, camera, mattino, pomeriggio
FROM dbo.Gestionecamera AS Gestionecamera_1
WHERE (camera = '1° Piano - camera 3')) AS t3
ON t0.Data = t3.Data
FULL OUTER JOIN
(SELECT Data, camera, mattino, pomeriggio
FROM dbo.Gestionecamera AS Gestionecamera_1
WHERE (camera = '1° Piano - camera 4')) AS t4
ON t0.Data = t4.Data
-

Dylan666
- Moderatore
-
- Post: 40186
- Iscritto il: 18/11/03 16:46
Torna a Programmazione
Topic correlati a "SQL Unione tabella su se stessa in orizzontale raggruppata":
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti