J'ai deux requêtes dans ma base de données qui renvoient des totaux provenant de différentes tables, puis je lance une troisième requête pour comparer ces totaux.SQL - Utilisation d'une troisième requête pour comparer les résultats des deux précédents
Je dois effectuer cela dans une seule déclaration afin que je puisse publier sur mon site asp.net. ces requêtes peuvent-elles être combinées?
Voici les trois querys
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;
requête finale
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);
suggestions bienvenues
c'est le sous j'utilise dans mon page 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
cela fonctionne quand je le teste dans ma base de données, mais quand j'essaie sur mon site .net je reçois "qry_control_d_total.processed_date" n'a pas été trouvé sur la source de données sélectionnée ??? J'apprécie vraiment l'aide car c'est beaucoup plus loin que ce que j'ai eu! – Barry
@Barry - Peut-être qu'il fallait nommer explicitement les tables dérivées avec un 'AS', j'ai ajouté sur ma réponse. Quoi qu'il en soit, il peut y avoir beaucoup de choses, vous devez nous donner plus d'informations quel moteur de base de données utilisez-vous?, Comment vous connectez-vous à votre base de données à partir de votre site? – Lamak
sous page_load lblyear.text = dateTime.Now.ToString ("yyyy") Dim obj comme nouveau oledbconnection ("provider = Microsoft.jet.oledb.4.0; source de données = F: \ CCMI \ asp \ db \ control.mdb") Dim objcmd Comme Oledbcommand Dim objRdr comme OledbDatareader Dim strCmd comme une chaîne Dim objDA comme oleDbDataAdapter sinon ispostback alors '**************** objcmd = new oledbcommand ("SELECT ...", objconn) objconn.open() objRdr = objcmd.executereader() dgbal_mc_roi.datasource = objrdr dgbal_mc_roi.databind() objrdr.close() objconn.close() fin si fin sous – Barry