Можете ли вы написать свой запрос, чтобы заполнить ваш набор данных в нужном формате?Если это так, я думаю, вы можете просто привязать полученные данные к DataGridView и получить то, что вы хотите.Таким образом, ваш запрос будет выглядеть примерно так:
"SELECT transaction_id, product_name, product_price, quantity, total_price, A001, book, $5, 10, $50 from product join sales on product.productid = sales.productid"
Конечно, вы бы заменили $ 5 и так далее на фактические имена столбцов.Используйте этот запрос для заполнения набора данных, а затем в вашей форме.
DataGridView.DataSource = DataSet.Tables("MyJoinedDataTable")
Где «MyJoinedDataTable» - это имя таблицы, которую вы заполнили в наборе данных.