ASP.Net C # - Datalist не достаточно сложен - Добавление данных элемента из вторичных таблиц - PullRequest
0 голосов
/ 14 мая 2018

У меня есть список данных, сгенерированный из таблицы базы данных с запросом, похожим на этот.

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

Я хочу отобразить круговую диаграмму для каждого элемента в списке данных, который будет опираться на данные из другой таблицы для диаграммы. Данные в этой вторичной таблице также могут быть выбраны с помощью ProductID.

Моя проблема в том, что список данных, похоже, запускается из одного SELECT в таблицу. Есть ли у меня способ дать указание специалисту по обработке данных извлечь дополнительные данные из дополнительной таблицы для КАЖДОГО элемента в списке данных?

1 Ответ

0 голосов
/ 14 мая 2018

Я думаю, вам нужно прочитать о том, как объединять таблицы, вот статья, с которой вы можете начать: Синтаксис объединения

Ниже приведен простой пример объединения, чтобы получить большеинформация о продукте.Мы действительно мало знаем о таблице с другими данными, но, надеюсь, это поможет вам начать.В этом примере вы можете увидеть, как получить сумму продаж на основе внешнего ключа в таблице продаж prodcut:

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
...