次のように3つのテーブルがあります。
CREATE Table [Product](
[product_id] int primary key,
[name] varchar(100) not null,
[date] varchar(20) not null,
[quantity] int not null,
[stock] int not null,
[category] varchar(50) not null,
[unitPrice] int not null,
[vendor_id] int not null
)
create table [distribution](
[distribution_id] int primary key,
[showroom] varchar(50) not null,
[quantity] int not null,
[date] varchar(20) not null,
[unitPrice] int not null,
[product_id] int not null
)
create table [sales](
[sales_id] int primary key,
[product_id] int not null,
[date] varchar(20) not null,
[time] varchar(15) not null,
[quantitiy] int not null,
[cash] int not null,
[branch] varchar(50) not null
)
ここで、製品 ID ごとに返されるクエリを作成したいと思います
[product].product_id,
[product].unitPrice as 'pUnitPrice',
[product].quantity,
[product].unitPrice*[product].quantity as "stockTotal",
SUM([sales].quantitiy) as 'salesUnit',
[distribution].unitPrice as 'sUnitPrice',
SUM([sales].quantitiy)*[distribution].unitPrice as 'saleTotal',
[product].quantity-SUM([sales].quantitiy) as 'balance'
Microsoft SQL Server 2008 R2 を使用して ASP.NET でプロジェクトを実行しています。クエリ (追加) を作成しましたが、その結果が間違っている可能性があります。1 つの product_id のすべてのデータをチェックしている可能性があります。私はとてもがっかりしています...誰か時間があれば助けてください....お願いします...
私のクエリ:
SELECT
[sales].product_id,
[product].unitPrice as 'pUnitPrice',
[product].quantity as 'stock',
[product].unitPrice * [product].quantity as "stockTotal",
SUM([sales].quantitiy) as 'salesUnit',
[distribution].unitPrice as 'sUnitPrice',
SUM([sales].quantitiy)*[distribution].unitPrice as 'saleTotal',
[product].quantity-SUM([sales].quantitiy) as 'balance'
from sales
JOIN product ON sales.product_id = product.product_id
JOIN [distribution] ON [product].product_id = [distribution].product_id
group by [sales].product_id,
[product].unitPrice,
[product].quantity,
[distribution].unitPrice
order by [sales].product_id
のみ
SUM([sales].quantity)
エラーを与えます。合計で3倍になりました。たとえば、希望する数量が 4 で、すべての product_id と同じように 12 になりました....
製品の値
(product_id、name、date、quantity、stock、category、unitPrice、vendor_id)
(1,HP, 2013-03-15, 10, 6, ラップトップ, 55000, 2)
表の値Distribution
:
distribution_id showroom quantity date unitPrice product_id
1 Ritzy1 2 2013-03-02 55000 1
2 Ritzy2 2 2013-03-02 55000 1
3 Ritzy3 2 2013-03-02 55000 1
表の値Sales
:
sales_id product_id date time quantitiy cash branch
1 1 2013-03-29 7:26:22 PM 2 110000 Ritzy1
私のクエリ結果
(product_id, pUnitPrice, stock, stockTotal, salesUnit, sUnitPrice, saleTotal, balance)
(1, 50000, 10, 500000, **6**, 55000, 330000, 4)
望ましい出力:
product_id pUnitPrice stock stockTotal salesUnit sUnitPrice saleTotal balance
1 50000 10 500000 2 55000 110000 8