Inner join ?

pitopito

Nuovo Utente
25 Lug 2012
4
0
0
SCENARIO :

Creazione di un database Rubrica.

Ogni record (persona) di tale tabella deve poter essere associata ad una tipologia (es. amico, collega, parente etc).

Ogni record (persona) può appartenere a più di una tipologia (es. Amilcare Rossi è sia amico che collega mentre Maria Bianchi è solo una cliente)

La tipologia di appartenenza (amico, cliente, etc) deve essere scalabile e dev’essere possibile aggiungere nuove tipologie.


TABELLE :

TABELLA TPersone (PK_Persone, Nome, Cognome, Cell)  Contiene l’anagrafica della persona
TABELLA TAssociazionePersonaTipologia (PK_Associazione, FK_Persona, FK_Tipologia)
TABELLA TTipologia (PK_Tipologia, Tipo)  contiene le tipologie (es. amico, parente, collega etc)

La tabella TAssociazionePersonaTipologia relaziona in modo flessibile la tabella TPersona e TTipologia in quanto la sua chiave esterna FK_Persona punta in modo univoco ad una persona e la sua chiave esterna FK_Tipologia punta ad una tipologia da associare a quella persona.
L’utilizzo di una tabella di associazione permette di creare più associazioni per ogni singola persona.

PROBLEMA :
creare una query SQL per interrogare la base dati ed ottenere il cognome delle persone associate ad una tipologia (es. ottenere tutti i cognomi delle persone classificate come “collega”). Devo utilizzare una INNER JOIN nidificata?

Ho provato questo comando ma mi da errore evidenzioando la clausola "WHERE" :
SELECT *
FROM TPersone
INNER JOIN
(TAssociazioneTipologia INNER JOIN TTipologia ON TAssociazioneTipologia.FK_Tipologia = TTipologia.PK_Tipologia WHERE TTipologia.Tipologia = 'amico')
ON TPersone.PK_Persone = TAssociazioneTipologia.FK_Persona;

Qualcuno di voi puo' illuminarmi? GRAZIE!!!
 

olmof

Nuovo Utente
18 Giu 2009
7
0
1
Così?

SELECT TPersone.PK_Persone, TPersone.Nome, TAssociazionePersonaTipologia.PK_Tipologia
FROM TPersone INNER JOIN TAssociazionePersonaTipologia ON TPersone.PK_Persone = TAssociazionePersonaTipologia.PK_Persona
WHERE TAssociazionePersonaTipologia.PK_Tipologia ="1";
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Inner join su 4 tabelle PHP 6
M [PHP] Aiuto su inner join PHP 10
P [MySQL] Inner Join o Left Join MySQL 14
simgia [MySQL] INNER JOIN problema MySQL 0
R [MySQL] SQL UPDATE INNER JOIN MySQL 5
jdj78 inner join Classic ASP 18
D Problema sintassi INNER JOIN a 3 tabelle PHP 4
L inner join MySQL 0
I Aiuto INNER JOIN MySQL 5
L inner join su due tabelle PHP 5
A Count Inner Join e stampa record con id non duplicati PHP 1
L Inner Join con più tabelle PHP 5
A Inner join con tre tabelle PHP 0
c.ronaldo Inner join Database 1
cosov Problema con INNER JOIN Classic ASP 1
S Stampare il risultato di una query inner jon in php.... PHP 4
metalgemini codice dinamico con inner.HTML o cosa? Javascript 8
R Join articolato su 3 tabelle MySQL 5
M Join 3 tabelle PHP 0
L select join e sottrazione punti PHP 13
M Problema su query JOIN in tre tabelle PHP 0
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
M Ordinare una query join PHP 2
M Estrarre valori MAX da un db con una left join MySQL 8
P Query Mysql con Join PHP 2
F [MySQL] Problema con LEFT JOIN MySQL 6
simgia [PHP] Ciclare una query JOIN PHP 2
R [PHP] Estrapolare dati da una query left join PHP 0
C Php/Mysql query JOIN tra tabelle PHP 4
C Php/Mysql query JOIN tra due tabelle PHP 18
G [MS Access] JOIN di due tabelle più GROUP BY MS Access 1
G [MySQL] Join o select MySQL 1
R [MySQL] Join, Count e Order (ASC & DESC)... MySQL 6
B Outer join che non funge Database 2
V [Guida]: ho dubbi sulle Join MySQL 13
P Query con Somma di un Campo , aggregazione e join Database 3
V Quando mettere il JOIN e quando no? MySQL 1
L cinque tabelle e join PHP 2
P Join tabelle MySQL 4
Marco_88 Select distinct e join MySQL 2
Marco_88 Eliminare una colonna da una LEFT JOIN MySQL 4
M Query Join per 2 colonne MySQL 1
andrea.peo Problema query con join visualizzazione record ripetuti PHP 5
D Il JOIN che non imparerò mai ad usare MySQL 2
V Problema JOIN SQL PHP 3
A Ottimizzare di più JOIN su tabella/e da 25.000 records MySQL 0
S Mistero Join MySQL 0
G unire union e join insieme MySQL 7
ivarello JOIN Mysql PHP 2
P utilizzare INN JOIN PHP 8

Discussioni simili