PDA

View Full Version : [SQL] Creazione query particolare


franksisca
19-04-2007, 15:22
ragazzi, dovrei creare una query pèarticolare, o meglio qualcosa che mi crei dei dati in modo particolare:

partiamo dal princiio:


Tabella 1

IDUTENTE
IDPRODOTTO




tabella 2

IDUTENTE
IDPROGETTO


allora, naturalemnte gli idutente sono uguali per entrambi le tabelle, a me serve una query che mi restituiscai risultati raggruppati per utente con i prodotti e i progetti relativi.

la difficoltà sta nel fatto che i prodotti e i progetti sono numericamente differente, tipo 4 progetti e 10 prodotti, oppure a parti invertite.

la cosa al momento mi sembra difficile(ma ho appena preso una botta in testa mentre lavavo i piatti) e magari tra 2 ore la risolvo, altrimenti mi date una mano please!!!


ah, dimenticavo, dovrei fare il tutto via sql, altrimenti non creo che avrei avuto problemi a farlo in java.

grazie e ciao

0rph3n
19-04-2007, 15:54
allora, naturalemnte gli idutente sono uguali per entrambi le tabelle, a me serve una query che mi restituiscai risultati raggruppati per utente con i prodotti e i progetti relativi.

la difficoltà sta nel fatto che i prodotti e i progetti sono numericamente differente, tipo 4 progetti e 10 prodotti, oppure a parti invertite.


tu vorresti una query che ti restituisse:
IDUTENTE | IDPRODOTTO | IDPROGETTO ?

oltre all'IDCLIENTE c'è qualche altra informazione utile a relazionare IDPRODOTTO a IDPROGETTO?
perchè altrimenti mettendo in join le tabelle e relazionandole con IDUTENTE ti uscirebbero tutte le combinazioni possibili!
mi sa che dovresti spiegare un po' meglio!

'iao

franksisca
19-04-2007, 16:04
tu vorresti una query che ti restituisse:
IDUTENTE | IDPRODOTTO | IDPROGETTO ?

oltre all'IDCLIENTE c'è qualche altra informazione utile a relazionare IDPRODOTTO a IDPROGETTO?
perchè altrimenti mettendo in join le tabelle e relazionandole con IDUTENTE ti uscirebbero tutte le combinazioni possibili!
mi sa che dovresti spiegare un po' meglio!

'iao

si, lo sò, perchè la join se non specificata fa il prodotto cartesiano;)

a me serve questo:

idutente | idprogetto
1 | 20
1 | 21
1 | 22
1 | 23
1 | 24
e poi
idutente | idprodotto
1 | 10
idutente | idprodotto
1 | 11
idutente | idprodotto
1 | 12



e in fine la visualizzazione così:

idutente | idprogetto | id prodotto
1 | 20 | 10
1 | 21 | 11
1 | 22 | 12
1 | 23
1 | 24




a me servirebbe una visualizzazione del genere, spero sia più chiara e possibile;)

franksisca
20-04-2007, 09:56
non è chiara o non si può fare???

vi prego aiutatemi....

shinya
20-04-2007, 16:41
e in fine la visualizzazione così:

idutente | idprogetto | id prodotto
1 | 20 | 10
1 | 21 | 11
1 | 22 | 12
1 | 23
1 | 24



Boh, a me non sembra che questo abbia molto senso. Se un prodotto non è legato ad un progetto allora a te potrebbe anche andar bene una cosa così:

idutente | idprogetto | id prodotto
1 | 20 | 11
1 | 21 | 10
1 | 23 | 12
1 | 22
1 | 24

Non vedo il nesso.

Secondo me l'unica cosa sensata che puoi fare è


select * from tabella1
union all
select * from tabella2

franksisca
20-04-2007, 20:09
idutente | idprogetto | id prodotto
1 | 20 | 11
1 | 21 | 10
1 | 23 | 12
1 | 22
1 | 24

Non vedo il nesso.

Secondo me l'unica cosa sensata che puoi fare è



non c'è nesso, e confermo l'inutilità, ma non serve a me, me l'hanno chiesta.....con l'union non dovrebbe funzionare, magari lunedì provo, comunque grazie.

nico88desmo
20-04-2007, 21:24
non c'è nesso, e confermo l'inutilità, ma non serve a me, me l'hanno chiesta.....con l'union non dovrebbe funzionare, magari lunedì provo, comunque grazie.

hai provato ad utilizzare la inner join?

franksisca
20-04-2007, 22:35
no

0rph3n
21-04-2007, 12:05
funzioni o store proc?
perchè si semplificherebbero un po' le cose...

franksisca
21-04-2007, 13:40
funzioni o store proc?
perchè si semplificherebbero un po' le cose...

non capisco, potresti spiegarmi meglio please.....