Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    11

    Problema record univoci query Unione

    Ciao a tutti, sono nuovo di questo forum... Spero possiate aiutarmi...
    Ho creato una query di unione tra una query di selezione e due query che mi forniscono i totali per un determinato campo della query. Eseguendo la query di selezione da sola escono tutti i record distinti e corretti ma nel momento in cui eseguo la query completa di unione i record non univoci scompaiono (sebbene poi i totali siano comunque corretti).
    Esempio di query (corretta)

    ZZZZ XXXX 9999 FFFFFF 1
    ZZZZ XXXX 9999 FFFFFF 1
    ZZZZ YYYY 8888 FFFFFF 1
    TOTALE 3 PEZZI

    Esempio di query (errata)

    ZZZZ XXXX 9999 FFFFFF 1
    ZZZZ YYYY 8888 FFFFFF 1
    TOTALE 3 PEZZI

    Ad occhio dovrebbe essere un problema del GROUP BY. Pensavo di aggiungere un campo contatore alla query di selezione per risolvere il problema ma non saprei come fare...
    Vi allego il testo della query:
    SELECT Count(*),[Semlcons].[ListaMontaggi], [Semlcons].[ListediCarico], [Semlcons].[CodiceArticolo], [Semlcons].[Quantita], [Semlcons].[TabellaOrdine], [Semlcons].[NumeroOrdine], [Semlcons].[ArticoloSpeciale]
    FROM Semlcons
    WHERE ((([Semlcons].[ListaMontaggi]) Like [forms]![Maschera1]![LISMONT]) And (([Semlcons].[CodiceArticolo]) Like [forms]![Maschera1]![CODART] & "*"))
    ORDER BY [Semlcons].[CodiceArticolo];
    UNION SELECT "TOT.STANDARD" AS Espr1, "" AS Espr5, [Semlcons].[CodiceArticolo], Sum([Semlcons].[Quantita]) AS SommaDiQuantita, "" AS Espr2, "" AS Espr3, "" as Espr4, "" as Espr6
    FROM Semlcons
    WHERE ((([Semlcons].[CodiceArticolo]) Like [forms]![Maschera1]![CODART] & "*") AND ((Semlcons.ArticoloSpeciale)='0') AND (([Semlcons].[ListaMontaggi]) Like [forms]![Maschera1]![LISMONT]))
    GROUP BY [Semlcons].[CodiceArticolo], [Semlcons].[ArticoloSpeciale], [Semlcons].[ListaMontaggi]
    ORDER BY [Semlcons].[Quantita];
    UNION SELECT "TOT.SPECIALI" AS Espr1, "" AS Espr5, [Semlcons].[CodiceArticolo], Sum([Semlcons].[Quantita]) AS SommaDiQuantita, "" AS Espr2, "" AS Espr3, "" as Espr4, "" as Espr6
    FROM Semlcons
    WHERE ((([Semlcons].[CodiceArticolo]) Like [forms]![Maschera1]![CODART] & "*") AND ((Semlcons.ArticoloSpeciale)='7') AND (([Semlcons].[ListaMontaggi]) Like [forms]![Maschera1]![LISMONT]))
    GROUP BY [Semlcons].[CodiceArticolo], [Semlcons].[ArticoloSpeciale], [Semlcons].[ListaMontaggi]
    ORDER BY [Semlcons].[Quantita];

    FINE

    Grazie per l'aiuto!

  2. #2
    prova ad usare union all anziche' union.
    union all fa vedere i record che compaiono sia nella prima che nella seconda query, anche se sono identici

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    11

    Grazie mille, il problema era proprio quello... Adesso tutto funziona perfettamente!

    Originariamente inviato da tiberi72
    prova ad usare union all anziche' union.
    union all fa vedere i record che compaiono sia nella prima che nella seconda query, anche se sono identici

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.