Mam to zapytanie, które znalazłem, że chcę zmodyfikować, aby uzyskać dodatkową kolumnę, a także zsumować ostatnie 3 miesiące znalezionych kwot. Chcę za to sporządzić raport Crystal. Zapytanie poniżej.Modyfikowanie zapytania łączenia krzyżowego
SELECT
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) AS PAYE,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName + ', ' + ISNULL(dbo.OHEM.middleName, '') + ' ' +
ISNULL(dbo.OHEM.firstName, '') AS EmployeeName, dbo.OHEM.govID
FROM dbo.[@EIM_PROCESS_DATA]
INNER JOIN dbo.OHEM ON dbo.[@EIM_PROCESS_DATA].U_Employee_ID
= dbo.OHEM.empID CROSS JOIN dbo.OADM
WHERE (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS033')
GROUP BY
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName,
dbo.OHEM.firstName,
dbo.OHEM.middleName,
dbo.OHEM.govID
tabela OHEM
zawiera pole o nazwie U_Process_month
alfanumeryczny, który zawiera znaki od stycznia do grudnia. Ponieważ zapytanie jest zgodne z powyższym, SUM(dbo.[@EIM_PROCESS_DATA].U_Amount)
podaje sumy dla wszystkich kwot PAYE, ie. U_PD_code = 'SYS033'
.
Chciałbym mieć zapytanie, które sumuje ostatnie 3 miesiące (PAYE) w oparciu o wybrany rok i miesiąc.
Chciałbym również pobrać i dodatkową kolumnę, SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) as TAXABLEPAY where (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS034')
.
Jak to osiągnąć? Każda pomoc doceniona.
Czy możesz podać przykładowe dane i oczekiwane wyniki? –