UP!!!![]()
UP!!!![]()
www.beppegrillo.it
Il blog di Beppe!!
forse meglio che chiarisci meglio quello che vuoi fare, spieghi le relazioni tra le tabelle ecc xchè da quanto hai detto i risultati giusti te li da anche
.Open "SELECT rifstruttureesterne.IDstrutture FROM rifstruttureesterne left join rifsede on (rifsede.IDstruttura = rifstruttureesterne.IDstrutture)
where rifsede.IDstruttura is null
![]()
None, il risultato non è giusto con quella select.
Se leggi il post che ho inviato per ultimo puoi vedere come si comporta la select e puoi farti un'idea di quello che ho bisogno. Per i primi due test non ha dato errori, per il terzo caso invece non mi ha visualizzato i dati e io so che invece dovrebbe visualizzarmi un solo ID. Le prove le sto facendo inserendo direttamente e manualmente da DB le varie variabili nella query sostituendole con l'ID numerico corretto quindi so cosa deve uscire in output.
La query postata da albis funziona ma non completamente infatti in alcuni casi non va (come quello descritto nel post sopra).
![]()
www.beppegrillo.it
Il blog di Beppe!!
l'hai provata?
Si l'ho provata e non funge, in ogni caso mancano delle condizioni fondamentali, ad esempio i dati da prelevare da rifstrutture e rifstruttureesterne dipendono dalla tabella rifsede la quale contiene diversi ID in riferimento a diversi IDstrumenti e non in generale alla sola tabella come indicato nella tua select. Quindi in base a IDstrumenti viene considerato un determinato record o più e solo questi escludono gli ID dalle tabelle rifstrutture e rifstruttureesterne, sono strettamente legati tra loro. E' piu chiaro?
So che è un macello quindi non preoccuparti. La strada giusta è quella di albis ma non è ancora definita e corretta; ho fatto alcune prove seguendo come base la select che ha postato ma non sono riuscito a capire dove sbaglio. Perchè quando c'è un solo IDstruttura in rifstruttureesterne non mi visualizza nessun risultato anche se in realtà c'è?![]()
www.beppegrillo.it
Il blog di Beppe!!
secondo me è un problema di join, hai provato a ricreare il tutto in access ?
perchè in access? Io uso MySQl e a quanto mi sembra alcune cose non son compatibili tra loro.
Cosa mi consigli di fare?
www.beppegrillo.it
Il blog di Beppe!!
le join mi sembra siano uguali, magari pensavo che facendo la query dalla parte grafica le cose possano essere + chiare.
Mah, magari per te potrebbe essere utile, io con access non ho più niente a che fare. Ho utilizzato access una sola volta per creare appl. web e poi ho puntato su MySQL. Access ora come ora non me lo ricorderei nemmeno e sarei comunque costretto a chiedere aiuti su forum.![]()
Ho porvato a creare la query corretta usando la sez. apposita di PHPmyAdmin per la stesura automatica della select flaggando e selezionando alcuni campi ma non ho ricavato niente. Non è che lo sappia usare poi così bene.
Proverò magari a tentare la strada di access sperando di riuscire a cavare qualcosa.
www.beppegrillo.it
Il blog di Beppe!!
tabella1=rifstruttureesterne
tabella2=rifstruttura
tabella3=rifsede
SELECT Tabella1.*
FROM (Tabella1 LEFT JOIN Tabella2 ON Tabella1.id = Tabella2.id) LEFT JOIN Tabella3 ON Tabella1.id = Tabella3.id
WHERE (((Tabella2.id) Is Null) AND ((Tabella3.id) Is Null));