DDavidEUtente AttivoIscritto daott, 2018Messaggi9518 ott 2023, 17:25Buonasera a tuttidevo fare una query sulle due tabelle seguenti:PK_compensiID_dipendenteNomeOreCompensodalal11Andrea1001.000,00 €01/02/202328/02/202322Anna901.100,00 €01/02/202328/02/202331Andrea1101.200,00 €01/03/202331/03/202342Anna1201.400,00 €01/03/202331/03/2023CompensiPK_ripartizioneID_dipendenteRepartoeffortdalal11Ufficio0,801/02/202328/02/202321Produzione0,201/02/202328/02/202332Ufficio0,401/02/202328/02/202342Produzione0,601/02/202328/02/202351Ufficio0,301/03/202331/03/202361Produzione0,701/03/202331/03/202372Ufficio0,801/03/202331/03/202382Produzione0,201/03/202331/03/2023RipartizioneIl mio scopo è ottenere il compenso per dipendente per periodo per reparto, ripartito come indicato dal campo effort:ID_dipendenteNomeRepartoCompensodalAl1AndreaUfficio1000 * 0,801/02/202328/02/20231AndreaProduzione1000*0,201/02/202328/02/20232AnnaUfficio1100 * 0,401/02/202328/02/20232AnnaProduzione1100 * 0,601/02/202328/02/2023E via così. E' possibile in SQL? Grazie
By65FrancoMolto attivoIscritto daapr, 2023Messaggi147718 ott 2023, 17:35Dai Davide, è facile …puoi partire da Dipendenti ordinati per Id o Nome, come credi meglio e ordinati per repartoa seguire con Join su compensi e su ripartizioni etc etc … Prova a buttar giù una stringa sql e vediamo dove arrivi.
DDavidEUtente AttivoIscritto daott, 2018Messaggi9518 ott 2023, 17:44Sembra funzionare:SELECT compensi.ID_dipendente, compensi.nome, compensi.MESE, compensi.compenso * ripartizione.percentuale AS costo_ripartito, ripartizione.reparto FROM compensi INNER JOIN ripartizione ON compensi.ID_dipendente = ripartizione.cod_dipendente AND dbo.compensi.MESE >= dbo.ripartizione.dal AND compensi.MESE <=ripartizione.alPossibile?? Grazie
By65FrancoMolto attivoIscritto daapr, 2023Messaggi147718 ott 2023, 17:5418/10/2023 - DavidE ha scritto:Sembra funzionare:SELECT compensi.ID_dipendente, compensi.nome, compensi.MESE, compensi.compenso * ripartizione.percentuale AS costo_ripartito, ripartizione.reparto FROM compensi INNER JOIN ripartizione ON compensi.ID_dipendente = ripartizione.cod_dipendente AND dbo.compensi.MESE >= dbo.ripartizione.dal AND compensi.MESE <=ripartizione.alPossibile?? Graziee l'ordinamento non lo metti? un Order By per esempio ID_Dipendente / Reparto ?
DDavidEUtente AttivoIscritto daott, 2018Messaggi9518 ott 2023, 18:02Si certo: ORDER BY compensi.dal, compensi.nome, reparto;l'esito è questo:NomeMesecosto_ripartitoRepartoAndrea01/02/2023200,00 €ProduzioneAndrea01/02/2023800,00 €UfficioAnna01/02/2023660,00 €ProduzioneAnna01/02/2023440,00 €UfficioAndrea01/03/2023840,00 €ProduzioneAndrea01/03/2023360,00 €UfficioAnna01/03/2023280,00 €ProduzioneAnna01/03/20231.120,00 €UfficioRipartizCompensiSono perplesso.. "eppur si muove"
By65FrancoMolto attivoIscritto daapr, 2023Messaggi147718 ott 2023, 18:57Visto che non era poi così complicato ? Bravo!!!Adesso controlla dato per dato, record per record se tutto è corretto e sei a posto.;-)