我在企业支持中,与我合作的产品有一个大型数据库。程序中没有一个很棒的报表生成工具,所以我们得到了很多自定义报表请求。这些通常是非常易于管理的,我们在过去编写了一个非常庞大的查询库,用于剖析和修改以根据每个客户的需求进行定制。话虽这么说,但有几个问题:
我想创建一个可以构建这些查询的工具,但是我真的不知道如何处理任务(理想情况下,它会将数据拉出并导出到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
我想创建一些东西,我可以输入类似"订单号,产品名称,数量,供应商,所需日期,发货日期,销售代表,城市,办公室"和逻辑,并让它吐出正确的查询。
我想从小做起,只做一些可以使用3-4个最常用表中的少量值的东西。暂时没有逻辑。这是一个显而易见的简单程序,但它似乎是一个很好的第一次尝试。
e.g。一个只能处理客户,订单,订单详细信息和产品的程序。
有人能指出我如何开始这个项目的正确方向吗?在这一点上,我只是在四处寻找可以抓住并挖掘的东西。
答案 0 :(得分:0)
不要过度思考。
在您已有的查询上放置一个Web界面,您可以在其中允许某些输入参数化[如客户]。如果您有基本查询,可以使用各种工具:
从这开始,因为这比尝试创建一个为您编写SQL的工具要容易得多。让人类组装核心查询并使用免费提供的软件工具在其上放置表示层。