为简单起见,我们假设我的DataSet如下所示:
SELECT C.CategoryName, C.Description, P.ProductName, P.UnitPrice, P.ReorderLevel
FROM Categories C
JOIN Products P
ON P.CategoryID = C.CategoryID
And for simplicity let's say the data I get back looks like this:
BEVERAGES | GREAT DRINKS | SODA | 2.99 | 1
BEVERAGES | GREAT DRINKS | VODKA | 9.99 | 9
SNACKS | GREAT SNACKS | PRETZELS | 1.99 | 1
SNACKS | GREAT SNACKS | CHIPS | 1.99 | 1
让我们说我希望我的报告看起来像这样:
BEVERAGES - GREAT DRINKS
PRODUCT NAME PRICE
VODKA 9.99
SODA 2.99
- PAGE BREAK -
SNACKS - GREAT SNACKS
PRODUCT NAME | PRICE
PRETZELS | 1.99
CHIPS | 1.99
我将如何做到这一点?
答案 0 :(得分:0)
您是否只想运行一个查询?
如果它们位于两个不同的页面上,为什么不运行两个单独的查询并添加WHERE P.ProductName =“something”或者您可以执行GROUP BY来获取不同的组并根据该结果集运行WHERE子句
SELECT C.CategoryName, C.Description, P.ProductName AS pname, P.UnitPrice, P.ReorderLevel
FROM Categories C
JOIN Products P
ON P.CategoryID = C.CategoryID
ORDER BY P.ProductName
Psuedo Code
var hold = ''
foreach result as r
if hold != r[pname] then call function to display product listing header
hold = r[pname]
display product information and pricing
答案 1 :(得分:0)
花了一些时间,但基本上我认为我试图做一个子报告。我使用List为CategoryId创建了一个组。然后我创建了一个子报表,它将CategoryId作为参数传递。工作得很好。