السلام عليكم ورحمة الله وبركاته
اخواني لقد بدات قبل فترة بعمل برنامج محاسبي ومخازن وقد استخدمت فيه قاعدة بيانات sql ومشروع اكسس للربط (قاعدة sql وواجهة اكسس)
ولكن لدي مشكلة وذلك لخبرتي القليلة في sql :s والرجاء مساعدjي باسرع وقت وهي بعد ان انشأت اجراء مخزني وجعلته استعلام تحديث حوالت كتابة هذه الجمله
ALTER PROCEDURE dbo.إجراء_مخزن2 AS UPDATE prod INNER JOIN buydown ON prod.id = buydown.prodid SET prod.prices = buydown.mprice
ولكن تطلع لي رسالة خطأ
Server: Msg 156, Level 15, State 1, Procedure إجراء_مخزن2, Line 2
Incorrect syntax near the keyword 'INNER'.
مع العلم عندما عملت هذه في قاعدة بيانات اكسس نجحت
ثم حاولت كتابة هذه
UPDATE dbo.prod SET prices = (SELECT dbo.buydown.mprice FROM dbo.prod INNER JOIN dbo.buydown ON dbo.prod.id = dbo.buydown.prodid)
وكذلك تطلع هذه الرسالة
Server: Msg 512, Level 16, State 1, Line 2
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
ثم مسحت جميع السجلات معدا واحد لكي اتاكد نجح ولكن يحدث جميع الاصناف ولكن انا اريد ان يحدث حسب الصنف الي موجود في جدول buydown
والاستفادة من هذا الاستعلام استرجاع السعر الاخير من جدول buydown وذلك عند حذف فاتورة او تعديل بيانات فاتورة الرجاء مساعدتي باسرع وقت
اخوكم محمد الخدر
