我遇到了一个查询问题,我并不完全确定可以使用数据库的设置方式。基本上,我会在查询中使用两个不同的表格,比如说交易和票价。他们看起来像这样(有一些示例数据):在查询中合并两个表并从中创建新列
TRANSACTIONS
Transation ID | Ticket Quantity | Total Price | Salesperson | Ticket Price ID
5489 250 250 Jim 8765
5465 50 150 Jim 1258
7898 36 45 Ann 4774
Ticket Prices
Ticket Price ID | Quantity | Price | Bundle Name
8765 1 1 1 ticket, $1
4774 12 15 5 tickets, $10
1258 1 3 1 ticket, $3
什么我的目标是一份报告,通过捆绑式分解每个销售人员的销售。结果表应该是这样的:
Sales Volume/Salesperson
Name | Bundle A | Bundle B | Bundle C | Total
Jim 250 0 50 300
Ann 0 36 0 36
我一直在寻找的网站,它似乎越来越像,这是使用各种子查询的最佳途径,这远作品以及获得的列标题正确显示,但不会达到实际的数字总和。它基本上结合了数据,给每个销售员一个总读数(在这个例子中,Jim和Ann在Bundle A中有250个销售,在Bundle B中有36个,等等)。有什么方法可以编写一个能够给我正确结果的查询吗?或甚至至少接近它?感谢您的任何意见。
是否有一个1:“捆绑”在搜索结果和'门票价格之间一对一的关系ID'在你的'TICKET_PRICES'表中?如果是这样,你怎么知道'Ticket Price ID' 8765是“Bundle A”?如果TICKET_PRICES表中有多于3行,会发生什么情况?你想在你的输出中有更多的列吗? – 2012-02-17 20:32:37
使用sql server你可以做到这一点使用跨应用计算和动态创建列,不知道这是否可能在oracle? – Standage 2012-02-17 20:54:27
@JustinCave目前,我没有办法知道这一点,我想先用“硬编码”的数值得到一个基本的结构。理想的是,是的。我希望在输出中包含与不同捆绑包中一样多的列。 – Linkmaster94 2012-02-17 21:08:56