Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    SQL server due tabelle un risultato

    Buondì,
    ho due tabelle, TabDomini (mailgestore,iddom,dominio) e TabBanners(idban,IdDominio) collegate tra loro dall'iddom e iddominio .
    Ora vorrei visualizzare un'unica riga con mailgetore,count(iddom),coun(idban).
    al momento riesco a visulizzare o mailgestore,coun(iddom) o mailgestore,count(idban), in più visualizza solo le righe con risultati .

    GESTORE E BANNER
    codice:
    SELECT        TabDomini.MailGestore, COUNT(*) AS Expr1
    FROM            TabDomini INNER JOIN
                             TabBanners ON TabDomini.IdDom = TabBanners.IdDominio
    GROUP BY TabDomini.MailGestore

    Domini e banners
    codice:
     
    
    
    SELECT        TabDomini.Dominio, COUNT(*) AS Expr1
    FROM            TabDomini INNER JOIN
                             TabBanners ON TabDomini.IdDom = TabBanners.IdDominio
    GROUP BY TabDomini.Dominio
    Elenco e contadomini
    codice:
    SELECT        MailGestore, COUNT(*) AS Expr1
    FROM            TabDomini
    GROUP BY MailGestore
    Ovviamente ho provato ad unirle con le Join , union, ma non riesco ad ottenere un unico risultato (compreso di gestori senza banner o domini).
    Quale metodo posso usare?
    Grazie
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  2. #2

  3. #3
    Ciao,
    grazie della risposta, però la union è perfetta se i risultati sono "estesi", il mio problema è che vorrei fare un "riassunto" delle tabelle.
    Nell'elenco vorrei una Distinct delle mailgestore una solo per ogni riga con la somma dei suoi domini e la somma dei banner (qui nasce il problema, perchè i domini hanno un iddom mentre le mailgestore sono univoche), non so bene come spiegarmi.
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  4. #4

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    fa' un esempio pratico
    codice:
    SELECT        TabDomini.IdDom, COUNT(TabBanners.IdBan) AS [Numero Banner], SUM(TabBanners.Cliccato) AS Click, SUM(TabBanners.Visionato) AS Impression, 
                             COUNT(TabBanners.Stato) AS ContaStato, TabDomini.MailGestore AS Gestore, TabDomini.Dominio, TabDomini.DesDominio, TabDomini.Stato, TabDomini.Crediti, 
                             TabDomini.C1V, TabDomini.C2V, TabDomini.C3V, TabDomini.DataCreazione, TabDomini.DataModifica, TabDomini.ClickLink, TabDomini.DAtaVistaLink, 
                             TabDomini.C1V AS Expr1, TabDomini.C2V AS Expr2, TabDomini.C3V AS Expr3, TabDomini.DataCreazione AS Expr4, TabDomini.DataModifica AS Expr5, 
                             TabDomini.ClickLink AS Expr6, TabDomini.DAtaVistaLink AS Expr7, TabDomini.ContaLinkVisualizzato
    FROM            TabDomini LEFT OUTER JOIN
                             TabBanners ON TabDomini.IdDom = TabBanners.IdDominio
    GROUP BY TabDomini.IdDom, TabDomini.MailGestore, TabDomini.Dominio, TabDomini.DesDominio, TabDomini.Stato, TabDomini.Crediti, TabDomini.C1V, TabDomini.C2V, 
                             TabDomini.C3V, TabDomini.DataCreazione, TabDomini.DataModifica, TabDomini.ClickLink, TabDomini.DAtaVistaLink, TabDomini.ContaLinkVisualizzato, 
                             TabDomini.CHard, TabDomini.Sponsorizzato
    ---> questa l'ho tolta HAVING        (TabDomini.MailGestore = N'info@genialtek.it')
    Questo mi riporta tutti i domini presenti con anche i conteggi dei banner, dei click ecc ecc ..

    codice HTML:
    911301info@***www.***.itSiti Web, assistenza tecnicaAttivo250InformaticaProgrammazioneLavoro09/06/2019NULL0NULLInformaticaProgrammazioneLavoro09/06/2019NULL0NULL0
    Ora però al posto della lista domini, avrei piacere di avere la lista delle mail con numero banner e numero domini, singolarmente riesco, ma quando cerco di unirle giustamente la select si ritrova con il numero banner per dominio, ma non sa associarla alla riga giusta perchè mailgestore è solo sulla tabella domini.
    P.S. scusa prima di scrivere ho fatto varie prove
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  6. #6
    difficile capire da una query cosa siano mail, domini ecc -- servirebbe conoscere bene le strutture delle tabelle, assieme a un esempio pratico (ho questo nelle tabelle, vorrei ottenere questo in output)

    poi nella query ci sono dei campi che sembrano ripetuti, probabilmente si potrebbe semplificare, anche con l'uso di alias

  7. #7
    in più, riesci a ottenere quello che vuoi con query separate?

  8. #8
    Immagino, con le sole query è difficile poter capire bene, nell'esempio sopra in effetti molti dati si ripetono e non so il perchè, sono riuscito a costruirla ma non a capirla fino in fondo.
    Posso dire che le tabelle (al di la di tutti gli altri dati sono così costituite)
    TabDomini (mailgestore,iddom,dominio) e TabBanners(idban,IdDominio) collegate tra loro dall'iddom e iddominio .
    Singolarmente riesco appunto ad ottenere quello che voglio,ma quando le unisco non ci riesco perchè se voglio contare i banners per dominio , poi non riesco ad associarlo al gestore (che deve comparire una sola volta.
    Una tabella con Mailgestore,contadomini,contabanners, non riesco proprio.
    Però provo comunque a fare delle prove e ti faccio sapere.
    Intanto grazie
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

  9. #9
    fa' vedere le singole query. pls, again, qualche dato di esempio

  10. #10
    Ciao a tutti,
    non so se può essere utile o se si capisce, posto la soluzione. Da il risultato che volevo, seleziona il numero banner per ogni dominio associato ad ogni gestore .

    codice:
    SELECT DISTINCT TabDomini.IdDom, COUNT(TabBanners.IdBan) AS Banners, SUM(TabBanners.Cliccato) AS Click, TabDomini.Dominio, TabDomini.DesDominio, TabDomini.Stato, TabDomini.Crediti, TabDomini.C1V AS Categoria, TabDomini.C2V AS Categoria, TabDomini.C3V AS Categoria, TabDomini.ClickLink AS [Click su Link], TabDomini.ContaLinkVisualizzato AS Visualizzati, TabDomini.CHard, TabDomini.Sponsorizzato FROM TabDomini LEFT OUTER JOIN TabBanners ON TabDomini.IdDom = TabBanners.IdDominio GROUP BY TabDomini.IdDom, TabDomini.MailGestore, TabDomini.Dominio, TabDomini.DesDominio, TabDomini.Stato, TabDomini.Crediti, TabDomini.C1V, TabDomini.C2V, TabDomini.C3V, TabDomini.DataCreazione, TabDomini.ClickLink, TabDomini.CHard, TabDomini.Sponsorizzato, TabDomini.ContaLinkVisualizzato HAVING (TabDomini.MailGestore = N'Mailgestorexxx')
    Riccardo Rossi - Smart Agent 3

    GENIALTEK il tuo sito presto e bene
    www.genialtek.it

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