Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Office suite

Notices

Rispondi
 
Strumenti discussione
Vecchio 06-11-2012, 19.57.05   #1
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
[Access 2007] Query annidate

Domanda semplice.
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
	)
Il problema è che Access non mi accetta i due campi nella clausola WHERE, mentre altri database non hanno problemi di questo tipo.
Qualche suggerimento per riuscire nell'impresa?
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 06-11-2012, 21.57.15   #2
RunDLL
Gold Member
 
L'avatar di RunDLL
 
Registrato: 20-05-2004
Loc.: Perugia
Messaggi: 4.188
RunDLL è nella strada per il successo
Rif: [Access 2007] Query annidate

FOR
___________________________________

Ogni computer ha la sua storia.
Dermatite Seborroica? www.dermatiteseborroica.info
RunDLL non è collegato   Rispondi citando
Vecchio 06-11-2012, 23.57.13   #3
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [Access 2007] Query annidate

Perdonami ma... non ho capito il suggerimento.
___________________________________

La risposta è dentro di te...
e però, è sbagliata!
borgata non è collegato   Rispondi citando
Vecchio 07-11-2012, 08.38.39   #4
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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.
LoryOne non è collegato   Rispondi citando
Vecchio 07-11-2012, 09.10.20   #5
RunDLL
Gold Member
 
L'avatar di RunDLL
 
Registrato: 20-05-2004
Loc.: Perugia
Messaggi: 4.188
RunDLL è nella strada per il successo
Rif: [Access 2007] Query annidate

FOR al posto di WHERE
___________________________________

Ogni computer ha la sua storia.
Dermatite Seborroica? www.dermatiteseborroica.info
RunDLL non è collegato   Rispondi citando
Vecchio 07-11-2012, 09.54.54   #6
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
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!
borgata non è collegato   Rispondi citando
Vecchio 07-11-2012, 10.18.19   #7
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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 [])
LoryOne non è collegato   Rispondi citando
Vecchio 07-11-2012, 10.19.57   #8
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
Rif: [Access 2007] Query annidate

Quota:
Inviato da borgata Visualizza messaggio
@RunDLL
Capito.
Ho provato ora e sembra non riconosca il comando "FOR", difatti mi da errore nella clausola FROM.
Sono d'accordo: Il FOR non è riconosciuto dal motore di ACCESS.
LoryOne non è collegato   Rispondi citando
Vecchio 07-11-2012, 10.30.24   #9
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [Access 2007] Query annidate

Quota:
Inviato da LoryOne Visualizza messaggio
...forse il problema è dov'è posta la parentesi chiusa.
Poi prova a mettere in AND sede e nome, cioè WHERE (sede in [] AND nome in [])
Avevo già provato con l'AND, ma senza risultati.
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!
borgata non è collegato   Rispondi citando
Vecchio 08-11-2012, 12.03.39   #10
borgata
Gold Member
WT Expert
 
L'avatar di borgata
 
Registrato: 23-06-2004
Loc.: Cagliari
Messaggi: 13.333
borgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raroborgata è un gioiello raro
Rif: [Access 2007] Query annidate

Ok, sto facendo delle prove usando la clausola EXISTS

Codice:
WHERE EXISTS (
.... SubQuery...
La query stavolta non da errore, ma il risultato non mi sembra quello sperato.
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!
borgata non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

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

Orario GMT +2. Ora sono le: 20.33.06.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.