SELECT distinct t1.vssyspackageid,CA.rAmount as Amount,Curr.vsShortCode AS Currency
from tblPrograms
INNER JOIN tblProgramsAndPackages ON tblPrograms.vsSysProgramId = tblProgramsAndPackages.vsSysProgramId
inner join tblPackages t1 on tblProgramsAndPackages.iPackageId=t1.iPackageId
right join tblPkgContractAwardDetails as CA on CA.iPackageId=t1.iPackageId
join tblCurrencies as Curr on CA.iCurrency =Curr.iCurrencyId
where tblPrograms.vsSysProgramId='JICA'
group by t1.vssyspackageid,CA.rAmount,Curr.vsShortCode
如果其分配给承建商奖详细信息包,那么它会显示在一列。
例如:GWSSP / 01,GWSSP / 02在此之后它它示出了在下一列总包。
我不知道你想要什么你的问题是有点模糊,但我猜你想指定的包,将显示金额列的总和一行。 这是我可以从你的问题理解呢!
SELECT DISTINCT t1.vssyspackageid,
SUM(CA.rAmount) AS TotalAmount,
Curr.vsShortCode AS Currency
FROM tblPrograms
INNER JOIN tblProgramsAndPackages ON tblPrograms.vsSysProgramId =
tblProgramsAndPackages.vsSysProgramId
INNER JOIN tblPackages AS t1 ON tblProgramsAndPackages.iPackageId =
t1.iPackageId
RIGHT JOIN tblPkgContractAwardDetails AS CA ON CA.iPackageId =
t1.iPackageId
JOIN tblCurrencies AS Curr ON CA.iCurrency =
Curr.iCurrencyId
WHERE tblPrograms.vsSysProgramId = 'JICA'
AND t1.[YOUR_COLUMN_NAME_HERE] = 'GWSSP/01'
GROUP BY t1.vssyspackageid,
Curr.vsShortCode
短短几件事情要注意:
- 我不知道在列名
tblPackages
是诸如“GWSSP / 01”的值属于表,所以我离开了你来填写。 - 你仍然会得到多个行,如果有您的包裹多种货币,你将不得不删除
Curr.vsShortCode
从您的选择和GROUP BY子句,如果是这样的话。 - 我也渡过了你的代码一点,因为它是相当混乱,很难理解,以及使用多种标准和捷径!