ورود

View Full Version : بروز رسانی قیمت خرید در انبار



حمیدرضاصادقیان
دوشنبه 14 اسفند 1385, 13:52 عصر
سلام دوستان. میخواستم ببینم چه طوری میشه در یک انبار قیمت خرید کالاها رو براساس آخرین قیمت خرید اونها بروز کرد؟
من کد زیر رو نوشتم ولی جواب نمیده .



update p_anbar set prc_p=(select top 100 percent fei from p_iriz1 pir
join( select cod_k,cod_v,rdfanbar from p_anbar) pa
on pa.cod_k=pir.code_k and pa.cod_v=pir.code_v and pa.rdfanbar=pir.rdfanbar
join (select code,date1 from p_inpt) pin on pir.code=pin.code
group by pa.cod_k,pa.cod_v,pa.rdfanbar,pir.fei,pin.date1
order by pin.date1 desc )


جدول p_anbar که همون جدول انبار هست و جدول p_iriz1 جدول ریز اجناس فروخته شده در فاکتور خرید است و جدول p_inpt جدول هدر فاکتور خرید است.البته اینم بگم select داخلش درست کار میکنه ولی وقتی با update اجراش میکنم پیغام میده که تعداد زیادی رو برمیگردونه و نمیتونه update کنه

Kamyar.Kimiyabeigi
دوشنبه 14 اسفند 1385, 15:50 عصر
select top 100 percent fei into #tmp1 from p_iriz1 pir
join( select cod_k,cod_v,rdfanbar from p_anbar) pa
on pa.cod_k=pir.code_k and pa.cod_v=pir.code_v and pa.rdfanbar=pir.rdfanbar
join (select code,date1 from p_inpt) pin on pir.code=pin.code
group by pa.cod_k,pa.cod_v,pa.rdfanbar,pir.fei,pin.date1
order by pin.date1 desc

update p_anbar set prc_p = fei
from #tmp1

حمیدرضاصادقیان
سه شنبه 15 اسفند 1385, 07:49 صبح
ممنون از جوابتون.نمیشه کاری کرد بدون استفاده از جدول temp اینکارو انجام بدم؟

Kamyar.Kimiyabeigi
سه شنبه 15 اسفند 1385, 09:56 صبح
شما چون دارین از group by استفاده میکنین ، نمیتونین مستقیما" از select برای ویرایش استفاده کنین.

حمیدرضاصادقیان
سه شنبه 15 اسفند 1385, 10:34 صبح
اخه در derived table ها براحتی میشه از group by برای update استفاده کرد.ولی این یکی رو نتونستم کاریش کنم.

Kamyar.Kimiyabeigi
سه شنبه 15 اسفند 1385, 15:38 عصر
اخه در derived table ها براحتی میشه از group by برای update استفاده کرد.ولی این یکی رو نتونستم کاریش کنم.

میشه یک نمونه Script از ویرایش در Derived Table را اینجا قرار بدین؟

حمیدرضاصادقیان
چهارشنبه 16 اسفند 1385, 08:26 صبح
اینم نمونه اش


UPDATE P
SET
P.UnitPrice = P.UnitPrice * 1.2
FROM
Products AS p
JOIN
(
SELECT TOP 5
ProductID,
SUM (Quantity) AS Quantity
FROM
[Order Details]
GROUP BY
ProductID
ORDER BY
Quantity DESC
) AS S ON S.ProductID = P.ProductID

حمیدرضاصادقیان
یک شنبه 20 اسفند 1385, 08:04 صبح
دوستان کسی نبود راهنمایی کنه؟