我们的系统是基于delphi和oracle开发的。
我这里有n个门店,门店不断增加,所以具体门店数量不确定,其都有自己的店名称和数据库,单个门店查询我可以实现,sql语句如下。但同时查各个门店某一天的销售收入就不知道怎么办了,请教各位仁兄了。多谢!
下面的语句是查 201门店的销售收入
select sum(smdxssr) from dbxxxx201.salemanaday@m201_db where smddate=日期 202门店的销售收入
select sum(smdxssr) from dbxxxx202.salemanaday@m202_db where smddate =日期
。
。
。
。
。以上可以看出其店名称和数据库都有规律,且名称和数据库编号都是对应的
我这里有n个门店,门店不断增加,所以具体门店数量不确定,其都有自己的店名称和数据库,单个门店查询我可以实现,sql语句如下。但同时查各个门店某一天的销售收入就不知道怎么办了,请教各位仁兄了。多谢!
下面的语句是查 201门店的销售收入
select sum(smdxssr) from dbxxxx201.salemanaday@m201_db where smddate=日期 202门店的销售收入
select sum(smdxssr) from dbxxxx202.salemanaday@m202_db where smddate =日期
。
。
。
。
。以上可以看出其店名称和数据库都有规律,且名称和数据库编号都是对应的
如果是在同一个表空间中的多张表,可以试着以下办法解决:
ADODataSet1.CommandText := 'select table_name from user_table where table_name like ''salemanaday@m%'''
//该语句作用是查询oracle数据库中表名为类似salemanaday@m的所有表
ADODataSet1.Open
While not ADODataSet1.Eof
//然后
select sum(smdxssr) from ' + ADODataSet1.FieldByName("table_name") + ' where smddate=日期'
ADODataSet1.Next;
Endselect sum(smdxssr) from dbxxxx201.salemanaday@m201_db where smddate=日期 202门店的销售收入
select sum(smdxssr) from dbxxxx202.salemanaday@m202_db where smddate =日期
dbxxxx201 是门店名称,salemanaday是表名,m201_db是门店对应的数据库
我这里有n个门店,门店不断增加,所以具体门店数量不确定,其都有自己的店名称和数据库,单个门店查询我可以实现,sql语句如下。但同时查各个门店某一天的销售收入就不知道怎么办了,请教各位仁兄了。多谢!dbxxxx201 是门店名称,salemanaday是表名,m201_db是门店对应的数据库
下面的语句是查 201门店的销售收入
select sum(smdxssr) from dbxxxx201.salemanaday@m201_db where smddate=日期 202门店的销售收入
select sum(smdxssr) from dbxxxx202.salemanaday@m202_db where smddate =日期
。
。
。
。
。以上可以看出其店名称和数据库都有规律,且名称和数据库编号都是对应的
Select Sum(销售收入) from
(
select sum(smdxssr)as 销售收入 from dbxxxx201.salemanaday@m201_db where smddate=日期
union all
--202门店的销售收入
select sum(smdxssr)as 销售收入 from dbxxxx202.salemanaday@m202_db where smddate =日期
union all
...
)