Group by multipli e alias ai campi

by 31. maggio 2010 18.35

Titolo quanto meno complesso. Partiamo da un esempio per spiegarmi meglio:

query = From a In eDao.MagazzinoArticoli Join m In eDao.MagazzinoMovimenti On a.IDArticolo Equals m.Articolo _
        Where m.Data <= tmp _
        Group By a.IDArticolo, a.CodArticolo, a.Descrizione, a.Fornitore, a.FornitoreCodice, a.PrezzoNetto1, a.UnitaMisura _
        Into car = Sum(m.QtaCaricata), scar = Sum(m.QtaScaricata), ret = Sum(m.QtaRettificata), imp = Sum(m.QtaImpegnata) _
        Select IDArticolo, CodArticolo, Descrizione, Fornitore, FornitoreCodice, QtaCaricata = car, QtaScaricata = scar, QtaRettificata = ret, _
               QtaImpegnato = imp, PrezzoNetto1, UnitaMisura

Esistono due tabella denominate MagazzinoArticoli (dove è presente la definizione degli articoli di un magazzino) e la tabella MagazzinoMovimenti (che raccoglie per ogni articoli i movimenti di carico e scarico). C'è il join tra le due tabelle e la condizione where sulla data del movimento. Il group by deve essere definito su tutti i campi su cui si esegue il raggruppamento. Dopo il comando Into si definisce una variabile alla quale dare il valore di un'oeprazione che nell'esempio è sempre un Sum.

Quando sono al select e devo specificare i campi, posso creare degli alias come se definissi una variabile. Attenzione: non è possibile riferirsi ai valori a ed m che identificano le due rispettive tabelle.

Ciao a presto!

 

Tags: , ,

Linq e uno o più Left Outer Join

by 21. maggio 2010 19.55

Avendo perso anche tutto il pomeriggio della giornata di oggi a capire come fare in Linq un banale Left Outer Join, vi posto la query in Linq che ho realizzato.

qry = From f In eDoc.Fatture Where f.Data <= tmp Group Join pn In eDoc.PrimaNota On f.IDFattura Equals pn.FatturaID Into fv = _
      Group From p In fv.DefaultIfEmpty Join a In eDoc.Anagrafiche On f.Anagrafica Equals a.IDAnagrafica _
      Where f.Data <= tmp And (p.Data >= tmp Or p.Data Is Nothing) And (f.Annullata Is Nothing Or f.Annullata >= tmp) _
      Select a.IDAnagrafica, f.IDFattura, f.Numero, f.TipoDocumento, a.RagSoc, a.Nome, f.Data, f.Scadenza, f.TotaleImponibile, _
      f.TotaleDocumento, f.TotaleIVA, f.Anticipata, f.AnticipataImporto, f.AnticipataBanca, f.AnticipataData, f.AnticipataPercentuale, f.Riscossa, f.Annullata


Spero che vi sia utile!

Tags: , ,

IIS 7 e MSCaptcha

by 5. maggio 2010 19.43

Vorresti utilizzare su IIS7 il componente MSCaptcha ma nonostante tutti le configurazione questo non funziona. Per configurare correttamente e farlo funzionare, nella sesione system.weserver\handlers inserire le seguenti righe di codice:

<add name="MSCaptchaImage"

path="CaptchaImage.axd"

verb="GET"

type="MSCaptcha.CaptchaImageHandler, MSCaptcha"

preCondition="integratedMode,runtimeVersionv2.0" />

In allegato il controllo

Bin.zip (16,72 kb)

Tags: ,

VB.NET App.Path

by 3. maggio 2010 13.11

Ogni tanto a me servirebbe la funzione che esisteva nel vecchio VB6 di AppPath. L'ho banalmente ricreata anche in VB.NET

Private Function AppPath() as String
        return System.Windows.Forms.Application.StartupPath
End function

Tags: , ,

Page List

Calendar

<<  febbraio 2012  >>
lumamegivesado
303112345
6789101112
13141516171819
20212223242526
2728291234
567891011

View posts in large calendar