|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
06-11-2012, 19.57.05 | #1 |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
[Access 2007] Query annidate
ho bisogno di fare una query di questo tipo (esempio un po' "scolastico"): Codice:
SELECT DISTINCT sede.citta FROM sede JOIN impiegato ON codice=sede WHERE (nome,sede) IN ( SELECT corso.nome, sede FROM corso JOIN cliente ON corso.cliente=cliente.nome GROUP BY corso.nome, sede, citta HAVING COUNT(*) > 1 ) Qualche suggerimento per riuscire nell'impresa?
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
06-11-2012, 21.57.15 | #2 |
Gold Member
Registrato: 20-05-2004
Loc.: Perugia
Messaggi: 4.188
|
Rif: [Access 2007] Query annidate
FOR
___________________________________
Ogni computer ha la sua storia. Dermatite Seborroica? www.dermatiteseborroica.info |
06-11-2012, 23.57.13 | #3 |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
Rif: [Access 2007] Query annidate
Perdonami ma... non ho capito il suggerimento.
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
07-11-2012, 08.38.39 | #4 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Rif: [Access 2007] Query annidate
Credo che da questo sito (http://www.w3schools.com/sql/default.asp) si possa trarre ispirazione...io ci fo un salto ogni tanto.
ps: E' possibile ricavare la corretta sintassi della stringa SQL in modalità struttura quando il risultato ottenuto è quello sperato: Una volta create,popolate e relazionate le varie tabelle, i join(inner, left o right) vengono creati automaticamente in base ai parametri di filtro imposti nella maschera di struttura Query ed in accordo con le relazioni 1-1/1-molti/molti-molti. A questo punto, ti basta importare la stringa ricavata e farla eseguire al motore. |
07-11-2012, 09.10.20 | #5 |
Gold Member
Registrato: 20-05-2004
Loc.: Perugia
Messaggi: 4.188
|
Rif: [Access 2007] Query annidate
FOR al posto di WHERE
___________________________________
Ogni computer ha la sua storia. Dermatite Seborroica? www.dermatiteseborroica.info |
07-11-2012, 09.54.54 | #6 |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
Rif: [Access 2007] Query annidate
@LoryOne
Grazie del link Stavolta però temo che il problema sia Access e non l'SQL in se. La query scritta sopra dovrebbe di norma funzionare, ma ad Access non piace il fatto che metta due attributi di confronto nella clausola WHERE, e li nasce il problema. @RunDLL Capito. Ho provato ora e sembra non riconosca il comando "FOR", difatti mi da errore nella clausola FROM.
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
07-11-2012, 10.18.19 | #7 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Rif: [Access 2007] Query annidate
...forse il problema è dov'è posta la parentesi chiusa.
Poi prova a mettere in AND sede e nome, cioè WHERE (sede in [] AND nome in []) |
07-11-2012, 10.19.57 | #8 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Rif: [Access 2007] Query annidate
|
07-11-2012, 10.30.24 | #9 | |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
Rif: [Access 2007] Query annidate
Quota:
La prova era diversa però, avevo semplicemente messo l'AND tra i due campi e non impostato la cosa come due clausole differenti. Il problema con le clausole differenti, come nel tuo esempio, è che non si ottiene lo stesso risultato: a me serve che il confronto sia fatto su entrambi i capi contemporaneamente, ossia i valori devono coincidere sulla stessa tupla.
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
|
08-11-2012, 12.03.39 | #10 |
Gold Member
WT Expert
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
|
Rif: [Access 2007] Query annidate
Ok, sto facendo delle prove usando la clausola EXISTS
Codice:
WHERE EXISTS ( .... SubQuery... Ora mi studio meglio la clausola, se qualcuno ha suggerimenti, dica pure! EDIT: ovviamente non da i risultati sperati, EXISTS non è così immediato da usare nel mio caso. Faccio ancora qualche prova. RI-EDIT: come immaginavo, non è utilizzabile, costringe Access a fare troppe subquery correlate, è troppo pensante insomma.
___________________________________
La risposta è dentro di te... e però, è sbagliata! |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
[Access 2007] Aggiungere contatore con i record ordinati secondo un campo esistente | borgata | Office suite | 15 | 25-10-2012 20.29.53 |
[Access 2007] Campi più volte non presenti in una seconda tabella. | realtebo | Office suite | 2 | 16-10-2009 12.51.47 |
[Access] Aiuto per query | nicx82 | Office suite | 0 | 29-07-2009 14.33.48 |
[Access 2K] Un aiuto per stampa query usando un report | Fat George | Office suite | 2 | 11-12-2008 16.02.26 |
[Access 2007] Aggiornamento di un valore di un campo | simo04 | Office suite | 1 | 01-12-2008 09.59.06 |