Errori in una Query di unione scritta in SQL

di il
7 risposte

Errori in una Query di unione scritta in SQL

Buon giorno,
ho scritto in sql una query di unione, ma quando le do il comando "esegui" mi compare il messaggio di errore: Tipi di dati non corrispondenti nell'espressione criterio.

questa è la query:

SELECT [Query1].[A], [Query1].[B], [Query1].[C], [Query1].[D], [Query1].[E], [Query1].[F], [Query1].[G], [Query1].[H], [Query1].[I]
FROM [Query1];
UNION SELECT [Query2].[A], [Query2].[B], [Query2].[C], [Query2].[D], [Query2].[E], [Query2].[F], [Query2].[G], [Query2].[H], [Query2].[I]
FROM [Query2];
UNION SELECT [Query3].[A], [Query3].[B], [Query3].[C], [Query3].[D], [Query3].[E], [Query3].[F], [Query3].[G], [Query3].[H], [Query3].[I]
FROM [Query3];

i dati sono tutti di tipo numerico decimale eccetto A, che è intero. Molti dati provengono da una tabella (query1 pesca da tabella1 e così via), altri sono il risultato di operazioni tra questi appena citati (operazioni svolte da Query1, Query2, Query3), invece "A" è un numero fisso che ho stabilito nelle tre query sopra citate e quindi non è pescato da nessuna tabella.
Inoltre, dato che devo fare una query di unione tra tre query, ho ripetuto per due volte UNION SELECT e poio FROM, ma non sono per nulla sicuro che sia corretto.

Suggerimenti?

Mi scuso per la mai evidente scarsa competenza e correttezza lessicale in materia.

Vi ringrazio molto

jibi

7 Risposte

  • Re: Errori in una Query di unione scritta in SQL

    Mi viene da dire che NON devi mettere il punto e virgola tra le varie query ma SOLO alla fine dell' ultima query .....
    Mi sembra però strano che ti venga restituito come errore 'tipo dati non corrispondenti' ....
    Per il resto sembra formalmente corretta quindi, se l' errore 'tipo dati non corrispondenti' è veritiero non resta che indagare sul tipo di dato dei vari campi (sebbene dalla tua descrizione sembra essere una operazione che hai già effettuato).
  • Re: Errori in una Query di unione scritta in SQL

    Grazie max, disponibile come sempre. ho provveduto a rimuovere due dei tre punti e virgola presenti nella riga "FROM", ma il problema persiste. Tuttavia , stavo ricontrollando i dati e le formule da cui pesca, ma per ora non ho scoperto niente di strano. faccio sapere se trovo qualcosa.
    grazie !

    jibi
  • Re: Errori in una Query di unione scritta in SQL

    Prova a unire solo 2 query (nelle varie combinazioni) magari scopri l' inghippo ....

    P.S. - I vari campi da [A] a [I] sono per caso dei campi calcolati / risultato di qualche formula ?? Oppure sono nativamente decimal / intero?
  • Re: Errori in una Query di unione scritta in SQL

    Ho provato a unire solo due query ma dà sempre lo stesso errore.
    Allora ho provato a inserire pochi campi alla volta per vedere su quale campo sia l errore. Mi riconnetto alla tua domanda: l errore sta proprio sul campo F, che è una formula (sono tutte formule eccetto A che è un numero fisso) di sottrazione con aggiunta di ROUND che mi approssima il numero (non tutte i campi con formule hanno il round, ma alcune ce l hanno e non danno nessun problema...). Tale formula con ROUND funziona perfettamente sulla query da cui proviene, ma sembra che nell'unione ci siano provlemi.
    Inoltre, per ordini datemi, ho rinominato i campi qui sul forum, in realtà il campo F ha un nome di 18 lettere divise in due parole (è l unico) . Che sia un problema di lunghezza?

    Ringrazio nuovamente max per la sua disponibilità
  • Re: Errori in una Query di unione scritta in SQL

    Trovata la soluzione
    Dava errore perche non mi ero accorto che utilizzavo una formula matematica che mi imponeva di inserire dei valori diversi da zero nelle tabelle, cosa che, lasciandole vuote, non era avvenuta. Ho provveduto a riempirle con numeri di prova e ora tutto funziona. Morale : errore matematico
    Ringrazio max per la sua enorme disponibilità
  • Re: Errori in una Query di unione scritta in SQL

    Buongiorno,
    sono nuovo e vi chiedo scusa nel caso non sia il posto corretto nel quale scrivere questo post.
    io ho un problema con una query di UNIONE, la query infatti restituisce il messaggio: "Errore di sintassi nella clausola FROM". La cosa assurda è che se eseguo la query con solo due unioni, non da alcun problema, ma non appena aggiungo la terza...
    Riporto di seguito la query:

    SELECT Matricola, Cognome, Nome, CF, DataDiNascita, DataDiAssunzione,"" AS DataCorso, "SFAR" AS Co, "PE" AS TCo, Date() AS DataScadenza
    FROM qryNOPEA
    UNION
    SELECT Matricola, Cognome, Nome, CF, DataDiNascita, DataDiAssunzione,"","SFAR", "PE", Date()
    FROM qryNOPEACT
    UNION SELECT Matricola, Cognome, Nome, CF, DataDiNascita, DataDiAssunzione,"","SFAnt", "PE", Date()
    FROM qryNOPEAnt;

    Grazie mille e buona giornata a tutti
  • Re: Errori in una Query di unione scritta in SQL

    Perché scrivi nel thread di un altro utente e di 2 anni fa?

    Crea una tua discussione, leggi il regolamento per l'uso del forum.
Devi accedere o registrarti per scrivere nel forum
7 risposte