Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Problema con query di ricerca dati non corrispondenti

  1. #1
    salger75 non è in linea Novello
    Post
    8
    Like Inviati  
    2
    Like Ricevuti  
    1
    Buongiorno,
    Magari ( anzi quasi certamente) mi sto perdendo in un bicchiere d'acqua, pertanto vi chiedo una mano.
    Ho 2 tabelle:

    tabella bpfly1
    codfisc|importo|mese

    tabella paghe0
    codfisc|importo|mese

    1) Vorrei ottenere tutti i record di bfly1 non contenuti in paghe0 dove il campo mese è uguale:

    sql="SELECT bpfly1.codfisc, paghe0.codfisc, paghe0.mese
    FROM bpfly1 LEFT JOIN paghe0 ON bpfly1.codfisc = paghe0.codfisc
    WHERE (((paghe0.codfisc) Is Null) AND ((paghe0.mese)=[bpfly1].[mese]));"
    
    2) poi vorrei ottenere tutti i record di paghe0 non contenuti in bfly1 dove il campo mese è uguale

    sql="SELECT paghe0.codfisc
    FROM bpfly1 RIGHT JOIN paghe0 ON bpfly1.codfisc = paghe0.codfisc
    WHERE (((bpfly1.codfisc) Is Null) AND ((paghe0.mese)=[bpfly1].[mese]));"
    
    le seguenti query non mi restituiscono nessun valore nonostante i valori ci dovrebbero essere ( quindi non è un problema di dati).
    Mi date una mano?
    Grazie
    Ultima modifica di salger75; 30-12-2020 14:33 

  2. #2
    Post
    1,868
    Blogs
    21
    Like Inviati  
    13
    Like Ricevuti  
    11
    Prova left join pure sulla seconda query

    P. S. Il codice va formattato con il pulsante code
    altrimenti è poco leggibile.

    È scritto nel regolamento del forum che ti invito a leggere ( link nel menu il alto)

    EDIT
    ora che hai formattato leggo meglio e vedo che ho detto una stupidata

    il problema è che sui record non corrispondenti non potrà mai essere

    paghe0.mese=[bpfly1].[mese]
    Ultima modifica di sspintux; 30-12-2020 11:09 
    ℹ️ Leggi di più su sspintux ...

  3. #3
    salger75 non è in linea Novello
    Post
    8
    Like Inviati  
    2
    Like Ricevuti  
    1
    Intanto grazie mille per la risposta.
    Spero di aver messo bene i tag ( ...non sono molto esperto..)
    Ho provato ma non cambia niente.
    In realtà nessuna delle due query restituisce nessun valore. qualche altra idea?

  4. #4
    Post
    1,868
    Blogs
    21
    Like Inviati  
    13
    Like Ricevuti  
    11
    scusa ho corretto tardi la risposta di prima che ti riporto qui :

    ora che hai formattato leggo meglio e vedo che ho detto una stupidata

    il problema è che sui record non corrispondenti non potrà mai essere

    paghe0.mese=[bpfly1].[mese]
    ℹ️ Leggi di più su sspintux ...

  5. #5
    salger75 non è in linea Novello
    Post
    8
    Like Inviati  
    2
    Like Ricevuti  
    1
    grazie del consiglio. ho cambiato strategia sostituendo paghe0.mese = [forms]![ins]![mese]
    ...ma purtroppo continua a non funzionare.
    il problema è che vorrei fare tutto da vba senza andare a crearmi oggetti query.
    sarei in grado di farlo facendo questa query:
    query aa
    SELECT paghe0.codfisc, paghe0.mese
    FROM paghe0
    WHERE (((paghe0.mese)=[forms]![ins]![mese]));
    
    query aaa
    SELECT bpfly1.codfisc, bpfly1.mese
    FROM bpfly1
    WHERE (((bpfly1.mese)=[forms]![ins]![mese]));
    
    query con record presenti in aa e non in aaa
    SELECT aa.codfisc
    FROM aa LEFT JOIN aaa ON aa.codfisc= aaa.codfisc
    WHERE (((aaa.codfisc) Is Null));
    

    query con record presenti in aaa e non in aa
    SELECT aaa.codfisc
    FROM aaa LEFT JOIN aa ON aaa.codfisc = aa.codfisc
    WHERE (((aa.codfisc) Is Null));
    
    Ultima modifica di salger75; 30-12-2020 12:47 

  6. #6
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Post
    7,214
    Blogs
    3
    Like Inviati  
    17
    Like Ricevuti  
    9
    Quote Originariamente inviato da salger75 Visualizza il messaggio
    Ho 2 tabelle:

    tabella bpfly1
    codfisc|importo|mese

    tabella paghe0
    codfisc|importo|mese

    1) Vorrei ottenere tutti i record di bfly1 non contenuti in paghe0 dove il campo mese è uguale:

    sql="SELECT bpfly1.codfisc, paghe0.codfisc, paghe0.mese
    FROM bpfly1 LEFT JOIN paghe0 ON bpfly1.codfisc = paghe0.codfisc
    WHERE (((paghe0.codfisc) Is Null) AND ((paghe0.mese)=[bpfly1].[mese]));"
    
    Devi modificare la query. In SQL esiste anche l'Operatore IN, che è possibile negare con NOT quindi la tua query, se ho capito bene cosa ti serve, potresti modificarla così (semplificando al massimo):

    SELECT * FROM bpfly1 WHERE bpfly1.codfisc NOT IN (SELECT paghe0.codfisc WHERE paghe0.mese=bpfly1.mese)
    
    Scambia i nomi delle tabelle per adattare la query al caso 2.

    TheTruster
    Ultima modifica di TheTruster; 30-12-2020 13:20  Motivo: aggiunto Link
    ℹ️ Leggi di più su TheTruster ...

  7. #7
    salger75 non è in linea Novello
    Post
    8
    Like Inviati  
    2
    Like Ricevuti  
    1
    RISOLTO! è esattamente quello che stavo cercando... GRAZIE MILLE

  8. #8
    Post
    1,868
    Blogs
    21
    Like Inviati  
    13
    Like Ricevuti  
    11
    Quote Originariamente inviato da salger75 Visualizza il messaggio

    tabella bpfly1
    codfisc|importo|mese

    tabella paghe0
    codfisc|importo|mese
    ...
    1) Vorrei ottenere tutti i record di bfly1 non contenuti in paghe0 dove il campo mese è uguale:
    ...
    2) poi vorrei ottenere tutti i record di paghe0 non contenuti in bfly1 dove il campo mese è uguale
    ...
    aspè ... quando parli record contenuti o non ti riferisci al codice fiscale giusto;

    non so se mi sto confondendo io o mi ha confuso la domanda

    ma non ti basta una sola query (perchè l'altra darebbe gli stessi risultati) , ovvero questa:

    SELECT b.codfisc as codfiscb ,p.codfisc as codfiscp , b.mese 
    from bpfly1 b inner join paghe0 p
    on b.mese=p.mese
    where b.codfisc <> p.codfisc
    
    ℹ️ Leggi di più su sspintux ...

  9. #9
    salger75 non è in linea Novello
    Post
    8
    Like Inviati  
    2
    Like Ricevuti  
    1
    mi hai fatto venire il dubbio.....ora ci lavoro e vedo se funziona anche la tua e quale approccio funziona meglio... mi metto al lavoro e vi aggiorno, intanto vi ringrazio tanto!

  10. #10
    Post
    1,868
    Blogs
    21
    Like Inviati  
    13
    Like Ricevuti  
    11
    ok, intanto che ci ragioni dicci pure se qualche codfisc può essere null
    ℹ️ Leggi di più su sspintux ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Eliminare record dopo query ricerca dati non corrispondenti
    Da OsvaldoLaviosa nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 21-09-2016, 19:44
  2. Risposte: 1
    Ultimo Post: 30-03-2012, 19:04
  3. Risposte: 2
    Ultimo Post: 17-11-2011, 13:06
  4. Ricerca dati corrispondenti- ACCESS 2007
    Da patty1980 nel forum Microsoft Access
    Risposte: 13
    Ultimo Post: 16-10-2010, 16:21
  5. Tipi di dati non corrispondenti
    Da massimo74rn nel forum ASP 3, ASP .Net
    Risposte: 2
    Ultimo Post: 26-07-2008, 15:23