PDA

View Full Version : مناسبترین دستور SQL برای این خروجی



sjhosseini
یک شنبه 20 مرداد 1387, 11:19 صبح
سلام
سه جدول با نامهای زیر در دیتابیس وجود دارد
Product(PID,PName)
Customer(CID,CName)
ANBAR(ID,PID,CID,Count,Type)
اگر TYPE برابر 0 باشد به معنی خروج کالا از انبار و اگر 1 باشد به معنی ورود کالا به انبار است.
اگر بخواهیم موجودی فعلی انبار کالا را به تفکیک هر شخص داشته باشیم از چه دستوری باید استفاده کنم.(سرعت هم مهمه)

amin_alexi
دوشنبه 21 مرداد 1387, 08:11 صبح
سلام
اگه از ساختار جدول Type رو حذف کنی و مقدار خروجی رو منفی بزنی این کارتو انجام بده



Select PID,PName,CID,CName,Sum(Count)
From Anbar A
Left Join Customer C on A.CID=C.CID
Left join Product P on A.PID=P.PID
Group By PID,PName,CID,CName

sjhosseini
دوشنبه 21 مرداد 1387, 13:20 عصر
فيلد Type تو جدول Anbarخيلي مهمه با اين دستور هم انجام نميشه

ASKaffash
دوشنبه 21 مرداد 1387, 15:57 عصر
سلام
اینطوری :


Select CID,Sum(Count*(Case Type When 0 Then -1 Else 1 End))
From Anbar
Group By CID