Non so che tipo di querly fare

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Salve,
ho questa situazione ma non so come fare. Potreste aiutarmi?
Grazie

Struttura DB:

TABELLA Elementi
id | idElemento | idTipo
1 | 1 | 1

TABELLA Tipi
id | Tipo
1 | Persona

TABELLA Valori
id | idElemento | idInfo | Valore
1 | 1 | 1 | Mario
1 | 1 | 2 | Rossi
1 | 1 | 3 | 0810000000
1 | 1 | 3 | 3330000000

TABELLA Info
id | Info | Multi
1 | Nome | 0
1 | Cognome | 0
1 | Telefono | 1


Risultato desiderato:

idElemento | Nome | Cognome | Telefono |
1 | Mario | Rossi | 0810000000, 3330000000 |
 

HolidaySoft.it

Utente Attivo
16 Ott 2012
105
0
0
Milano
www.holidaysoft.it

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Ciao Stefano,
la query si può realizzare, ma il db sembra strutturato in modo molto strano....
Sei sicuro della struttura presentata nel tuo post (es: la TABELLA Valori mostra i diversi dati nei vari record anzichè mostrarli su diverse colonne)??

Michele


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!

So ce è una struttura stana, ma è così.
ogni elmento ha i suoi valori su più righe della tabella elementi valori.
 

HolidaySoft.it

Utente Attivo
16 Ott 2012
105
0
0
Milano
www.holidaysoft.it
Ciao Stefano,
per avere il tuo risultato dovresti utilizzare un linguaggio di programmazione e creare dei cicli sulle tabelle.
Invece, se vuoi avere un risultato parziale tramite una query, dovresti utilizzare la seguente query:

Codice:
select elementi.idelemento, a1.nome, a2.cognome, a3.telefono from Elementi,
(select idelemento, valore as nome from tb_valori a, tb_info b where a.IDINFO=b.ID and b.INFO='Nome') a1,
(select idelemento, valore as cognome from tb_valori a, tb_info b where a.IDINFO=b.ID and b.INFO='Cognome') a2,
(select idelemento, valore as Telefono from tb_valori a, tb_info b where a.IDINFO=b.ID and b.INFO='Telefono' and a.id=3) a3
where 1=1 
and elementi.idelemento=a1.idelemento
and elementi.idelemento=a2.idelemento
and elementi.idelemento=a3.idelemento

perchè ti ho indicato "parziale"? perchè il numero di telefono viene mostrato come concatenazione di due records, non agevole realizzarlo tramite semplice query
Inoltre nella tua tabella "Info" gli id sembrano errati, dovrebbero essere quelli riportati nella tabella Valori, ossia:

Codice:
TABELLA Info
id | Info | Multi
1 | Nome | 0
2 | Cognome | 0
3 | Telefono | 1

Ciao
Michele


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Non è un array e nemmeno un intero, che tipo di dato è? Javascript 1
G Finestra di dialogo che non si apre - programma NUENDO Windows e Software 0
R Select concatenata che non funziona la seconda volta Ajax 3
D File pdf che non si aprono .... PHP 1
R Impianto che non si vede sul cell IP Cam e Videosorveglianza 6
WebmasterFioriniAndrea [PHP] Problema che non mi fa vedere niente PHP 2
SilverSpirit Hosting che non costa molto Hosting 4
Max 1 [PHP] Script che funziona in locale e non online PHP 16
R [PHP] pagina inclusa che non viene visualizzata PHP 2
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
T [PHP] ...Parse error che non c'è... PHP 7
T PHP: aggiunta a query che non so fare... PHP 2
M [PHP] Menu a tendina dinamico che non si aggiorna PHP 2
C [PHP] Campo facoltativo del form che non deve risultare nella risposta se negativo PHP 6
T [PHP] errore unexpected T_LNUMBER che non so interpretare PHP 6
J [Javascript] una funzione ricorsiva che non capisco come lavori Javascript 6
L [PHP] Classe che non vede i suoi metodi PHP 3
M [HTML] Menu a fisarmonica che non funziona in chrome HTML e CSS 2
L [Photoshop] Bianco e Nero che non si comporta come Bianco e Nero Photoshop 1
T [Javascript] un controllo con checkbox che non... controlla... Javascript 3
S Il metodo $.getJSON() e <select> che non si popola di dati per query troppo grandey Ajax 0
Trapano Script php che non va più' con Versione MySQL: 5.6 PHP 5
A [HTML] background fisso che non si ridimensiona con lo zoom HTML e CSS 4
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
B Outer join che non funge Database 2
L [PHP] gestione $_GET che non funziona per colpa di mod_rewrite? PHP 1
M Offerte hosting e PHP7 (che non c'è) Hosting 8
F Javascript che funziona solo nella home page e non nelle altre pagine Javascript 1
L Css che non si applica nemmeno con !important HTML e CSS 3
M Edit Text - tastierino che non sparisce Sviluppo app per Android 0
A anomalia che non capisco... PHP 1
P non trovo l'add-ons HDR options che ho appena installato Photoshop 1
asevenx link cliccabile che non funziona con invio mail PHP 1
C Sottomenù Bootstrap che non funziona correttamente HTML e CSS 8
P scritta di avviso inserimento dati corretti che non vuole scendere verso il basso PHP 4
P Chiamata ajax che non ne vuole sapere di funzionare Ajax 5
C Scriptino Ajax che non funge Ajax 4
otto9due Questione di array.. I risultato del foreach non è quello che voglio.. PHP 4
G Creare pagine generiche che non rispondano al template hierachy WordPress 1
P Problema ancore e bottoni che NON rispondono al click su IPad e Iphone HTML e CSS 1
F [cerco] [non retribuito] qualcuno che mi sistemi il blog Offerte e Richieste di Lavoro e/o Collaborazione 3
MarcoGrazia [PDO] insert che non inserisce e non da errori PHP 1
P due select che non vanno d'accordo fra di loro PHP 4
MarcoGrazia Insert into che da errore: numero di parametri non validi.... MySQL 7
E cancellare immagini che non sono nel db mysql PHP 1
I $_POST che non mi passa i dati PHP 3
L [HTML5] Problema con Google Chrome, non so che sia. Javascript 3
P form che non invia i dati PHP 8
mauriziod [PL- MySQL] parametri che non vengono usati MySQL 4
S sessione di login che non dura nullaaa Supporto Mr.Webmaster 0

Discussioni simili