【发布时间】:2012-02-17 18:31:57
【问题描述】:
我的数据库中有两个查询从不同的表返回总计,然后我正在运行第三个查询来比较这些总计?
我需要在一个声明中执行此操作,以便我可以在我的 asp.net 站点上发布。这些查询可以合并吗?
以下是三个查询
qry_control_d_total
SELECT
tbl_control_d.processed_date,
Sum(tbl_control_d.dc_amt)
AS
SumOfdc_amt,
tbl_currency.cur_type
FROM
tbl_control_d
INNER JOIN
tbl_currency
ON
tbl_control_d.cur_code = tbl_currency.cur_code
GROUP BY
tbl_control_d.processed_date, tbl_currency.cur_type
AS
qry_control_d_total;
qry_sap_total
SELECT
tbl_sap.doc_date,
Sum
(tbl_sap.dc_amt)
AS
SumOfdc_amt,
tbl_sap.cur_type
FROM
tbl_sap
GROUP BY
tbl_sap.doc_date,
tbl_sap.cur_type
AS
qry_sap_total;
最终查询
SELECT
qry_control_d_total.processed_date,
qry_control_d_total.cur_type,
[qry_control_d_total].[sumofdc_amt]-[qry_control_d_total].[sumofdc_amt]
AS
balance,
qry_control_d_total.SumOfdc_amt,
qry_sap_total.SumOfdc_amt
FROM
qry_control_d_total
INNER JOIN
qry_sap_total
ON
(qry_control_d_total.processed_date = qry_sap_total.doc_date)
AND
(qry_control_d_total.cur_type = qry_sap_total.cur_type);
欢迎提出建议
这是我在我的 vb.net 页面中使用的子
sub page_load
lblyear.text = dateTime.Now.ToString("yyyy")
Dim objconn as new oledbconnection("provider=Microsoft.jet.oledb.4.0;data source=F:\CCMI\asp\db\control.mdb")
Dim objcmd As Oledbcommand
Dim objRdr as OledbDatareader
Dim strCmd as string
Dim objDA as oleDbDataAdapter
if not ispostback then
'****************
objcmd = new oledbcommand("SELECT...", objconn)
objconn.open()
objRdr = objcmd.executereader()
dgbal_mc_roi.datasource = objrdr
dgbal_mc_roi.databind()
objrdr.close()
objconn.close()
end if
end sub
【问题讨论】: