Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    10

    Problema Query SQL Unione o Join-Access 2003

    Ciao a tutti

    ho una tabella con vari tipi di dettagli riguardanti ordini (cliente, zona, provincia... prodotto, prezzo listino etc.)

    In più ho una tabella identica che differisce solo per il prezzo (pz di vendita).

    Con una query di unione ho unito le 2 tabelle in modo da avere
    1-solo i campi che mi interessano -cliente e prodotto
    2-entrambe le misure affiancate quindi il listino nella colonna X e la vendita nella y.

    select *
    from[Tab con listino]
    UNION select *
    from [Tab con vendita];

    Fino a qui tutto bene:

    Ora, alla query che mi è risultata, voglio aggiungere altre 2 colonne con il listino e la vendita relativa all'anno precedente.

    Se faccio un'altra query di unione non ottengo risultati dalla seconda tabella e se faccio un left join i valori mi si moltiplicano.. mi rendo conto di aver probabilmente imboccato la strada sbagliata....

    Come posso risolvere il mio problema??

    grazie mille!

  2. #2
    nella query principale indichi già l'anno (corrente)? puoi postare la query per intero? grass

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    10
    Ciao, non ho un campo apposito per l'anno, li distinguo con i campi per le misure Listino08 e Listino09.

    la query di unione è quella standad che ho postato prima fatta sulle tabelle che mi servono.

    Importante, (e qui mi sa proprio che ho fatto la stxxxzata) per far funzionare la query di unione generica per tutti i campi (*) ho aggiunto 2 colonne vuote alle tabelle di input... (2 colonne listino 09 nel 2008 e 2 colonne listino 08 nel 2009)

    Per quanto riguarda la query di join ho fatto un left join sul cliente e ho chiesto come output Cliente, articolo list08 e list09 (più vend08 e vend09). questo come risultato mi da una moltiplicazione dei risultati.

    SELECT [Tab 1].Cliente, Sum([Tab 2].[list08]) AS [SumOflist08], Sum([Tab 1].[list09]) AS [SumOflist09]
    FROM [Tab 1] LEFT JOIN [Tab 2] ON [Tab 1].[Codice Cliente] = [Tab 2].[Codice Cliente]

    Che mi dici??

    Grazie ancora

  4. #4
    e non puoi fare (aggiusta i campi)

    codice:
    Select
       cliente,
       listino08,
       listino09,
       vendita08,
       vendita09
    FROM
       clienti left join listino on clienti.cod=listino.codcliente
                left join vendite on clienti.cod=vendite.codcliente
    ???

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    10
    Grandissimo! Grazie mille!!!

  6. #6
    optime! manda una cartolina!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    10
    Ue Ciao

    Grazie ancora per i tuoi suggerimenti, sono tornato al lavoro solo oggi dall'ultima volta che ci siamo parlati (ero a letto con la suina.. non è stato divertente come può suonare).
    Btw ho provato solo oggi a mettere in pratica i tuoi suggerimenti

    codice:Select
    cliente,
    listino08,
    listino09,
    vendita08,
    vendita09
    FROM
    clienti left join listino on clienti.cod=listino.codcliente
    left join vendite on clienti.cod=vendite.codcliente


    ma non riesco a farlo funzionare.. sono davvero principiante con sql e probabilmente non riesco a configurare quello che mi hai scritto con i miei campi

    Le mie tabelle si chiamano

    tab1= storico db Cliente 2008 query
    Tab2= da unione attività

    e i campi sono

    Cliente
    Storico 08
    NPS 09 AC
    NPS 09 AP

    Mi riesci a dare qualche suggerimento in più?

    grazie ancora

    Simone

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 © 2024 vBulletin Solutions, Inc. All rights reserved.