ASP.Net C# - 数据列表不够复杂 - 从二级表添加项目数据

ASP.Net C# - Datalist Not Complex Enough - Adding Item Data From Secondary Tables

我有一个从数据库 table 生成的数据列表,查询是这样的。

SELECT Product_Type, Unit_Type, Image FROM Products WHERE ProductID = 1 Or ProductID = 2 OR ProductID = 3... etc.

我想为数据列表中的每个项目显示一个饼图,图表依赖于来自另一个 table 的数据。这个secondarytable里面的数据也可以用ProductID来选择。

我的问题是数据列表似乎是 运行 从单个 SELECT 到 table。有没有办法让我指示数据列表从数据列表中的每个项目的辅助 table 检索补充数据?

我认为您需要阅读有关如何加入 tables 的内容,这里有一篇文章可以帮助您入门:Join Syntax

下面是一个简单的连接示例,用于获取有关产品的更多信息。我们真的不太了解 table 和其他数据,但希望这能让您入门。在此示例中,您可以看到如何根据 prodcut sales table:

中的外键获取销售额
CREATE TABLE #product
(
    productId INT PRIMARY KEY,
    description VARCHAR(50) NOT NULL    
)

CREATE TABLE #productSales
(
    salesId INT PRIMARY KEY,
    productId INT NOT NULL,
    amount INT NOT NULL    
)

INSERT INTO #product VALUES(1, 'Boat')
INSERT INTO #product VALUES(2, 'Raft')
INSERT INTO #product VALUES(3, 'Canoe')

INSERT INTO #productSales VALUES(1, 1, 10)
INSERT INTO #productSales VALUES(2, 1, 89)
INSERT INTO #productSales VALUES(3, 2, 410)
INSERT INTO #productSales VALUES(4, 2, 10997)
INSERT INTO #productSales VALUES(5, 2, 3)
INSERT INTO #productSales VALUES(6, 2, 98)
INSERT INTO #productSales VALUES(7, 3, 14)

SELECT p.productId, p.description, ps.amount from #product p 
    INNER JOIN #productSales ps on 
     p.productId = ps.productId
WHERE p.productId IN (1,2,3)

输出:

1   Boat    10
1   Boat    89
2   Raft    410
2   Raft    10997
2   Raft    3
2   Raft    98
3   Canoe   14