【发布时间】:2016-12-09 04:00:53
【问题描述】:
我在企业支持部门,我使用的产品有一个大型数据库。程序中没有一个很好的报告生成工具,所以我们收到了很多自定义报告请求。这些通常很容易管理,我们有一个相当大的过去编写的查询库,可以剖析和修改以适应每个客户的需求。话虽如此,这有几个问题:
- 这是不必要的耗时。
- 我们的许多技术人员不具备执行此操作的 SQL 知识。
我想创建一个工具来构建这些查询,但我真的不知道如何处理任务(理想情况下它会提取数据并将其导出到 csv,但现在只需编写查询即可没事的)。我熟悉 SQL、javascript 和 python。如果这些都不是理想的,那么我会在我去的时候自学最适合它的东西。
让我们以这个示例数据库为例:
http://www.eclipse.org/birt/img/documentation/sample-database/ClassicModelsDBSchema.jpg
假设客户提交了一张票说:
'请提供我们所有订单的报告。请包括订单号、订购的产品及其数量、产品供应商、订购日期、我们要求的日期、实际发货日期、处理它的销售代表以及他们来自哪个办公室。
某处可能有一个模板,但最终有人会创建如下查询:
select o.orderNumber, p.productName, od.quantityOrdered, p.productVendor, o.orderDate, o.requiredDate, o.shippedDate, e.firstname, e.lastname, of.city, of.officeCode
from
Orders o
JOIN OrderDetails od ON o.orderNumber = od.orderNumber
JOIN Products p ON od.productCode = p.productCode
JOIN Customers c on o.customerNumber = c.customerNumber
JOIN Employees e on e.employeeNumber = c.salesRepEmployeeNumber
JOIN Offices of on of.officeCode = e.officeCode
我想创建一些东西,我可以在其中输入诸如“订单号、产品名称、数量、供应商、所需日期、发货日期、销售代表、城市、办公室”之类的内容以及 where 逻辑并将其吐出正确的查询。
我想从小处着手,只做一些可以处理我们最常用的 3-4 个表中的少量值的东西。暂时没有逻辑。这是一个明显简单的程序,但它似乎是一个很好的第一次尝试。
例如只能处理客户、订单、orderDetails 和产品的程序。
有人可以为我指出如何开始这个项目的正确方向吗?在这一点上,我只是在四处寻找我可以抓住和挖掘的东西。
【问题讨论】:
标签: sql database automation reporting