|
|
|
|
Strumenti |
29-05-2008, 10:17 | #1 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5691
|
[SQL] Righe di una tabella, colonne di una select...
Non sono sicuro che sia possibile ma ho le seguenti tabelle:
Codice:
UTENTE ---------- | ID | ---------- | pippo | | pluto | | minni | ---------- ENTITA' ---------- | mela | | pera | | banana | ---------- ASSOCIAZIONE |------------------- | 1 | pippo | mela | |------------------ | 2 | pippo | mela | |------------------- | 3 | pluto | pera | |------------------- vorrei per ogni utente contare le occorrenze entità (che sono in numero fisso) in questo modo: Codice:
-------------------------------- | ID | MELA | PERA | BANANA | -------------------------------| | pippo | 2 | 0 | 0 | -------------------------------| | pluto | 0 | 1 | 0 | -------------------------------| | minni | 0 | 0 | 0 | ------------------------------- impossibile? |
29-05-2008, 15:25 | #2 |
Senior Member
Iscritto dal: Jul 2007
Messaggi: 1092
|
Su myql la sintassi è questa, dove id nel tuo caso sarebbero pippo,pluto ecc.
Codice:
select id, sum(if(entita = 'mela',1,0)) as mela, sum(if(entita = 'pera',1,0)) as pera, sum(if(entita = 'banana',1,0)) as banana from associazione group by id |
29-05-2008, 15:59 | #3 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5691
|
uso oracle 10g, ho controllato e la sintassi è questa:
SUM( CASE ASSOCIAZIONE WHEN 'MELA' THEN 1 ELSE 0 END) ti ringrazio moltissimo per l'idea, non avevo pensato di farlo in questo modo |
29-05-2008, 16:19 | #4 |
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Prova a dare un'occhiata qua:
http://asktom.oracle.com/pls/asktom/...D:419593546543 oppure qua (verso fine pagina): http://www.akadia.com/services/ora_a...functions.html Sono entrambi link specifici su oracle.
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
29-05-2008, 21:22 | #5 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5691
|
@shinya: ottimi link, in particolare il secondo spiega l'utilizzo di decode() per quello che mi serve.
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:12.