PDA

View Full Version : خطا در union کردن 2 ویو



likemoon
چهارشنبه 06 فروردین 1393, 19:19 عصر
سلام من دو تا ویو ساختم الان تصمیم دارم که این دو رو با هم یونیون کنم در یک ویوی جدید به این صورت:

SELECT dbo.phmPrescriptionD.iCode, SUM(dbo.phmPrescriptionD.Amount) AS [مقدار مصرفی], dbo.phmDrugItems.name, dbo.department.depID, dbo.department.Department,
dbo.phmPrescriptionM.Date
FROM phmRptUSED
UNION ALL
SELECT dbo.phmStockRequistionD.iCode, SUM(dbo.phmStockRequistionD.ReqQty) AS [مقدار درخواستی], dbo.phmDrugItems.name,dbo.phmStockRequistionM.ReqU nit, department_1.Department AS گیرنده,
dbo.phmStockRequistionM.ReqDatee
FROM phmRptCATCHED


تمام نوع های داده ای در فیلدها یکسان هستند و نمیدونم اشکال کار کجاست به ازای تمام فیلدها با این خطا مواجه میشم لطفا راهنمایی بفرمایید:

Error Source: .Net SqlClient Data Provider
Error Message: The multi-part identifier "dbo.phmPrescriptionD.iCode" could not be bound.

Rejnev
چهارشنبه 06 فروردین 1393, 19:45 عصر
توی from جدول اشتباه رو انتخاب میکنید.
یا توی سلکت نیازی به dbo.phm... نیست

likemoon
چهارشنبه 06 فروردین 1393, 19:47 عصر
مطمئنم از انتخاب جداولم :( واقعا گیج شدم و نمیفهمم اشکالش کجاست
من در ساخت ویوهای اولیه فیلدهارو گروپ کردم آیا ممکنه ازون بابت اشکالی بوجود اورده باشه؟!

sohil_ww
چهارشنبه 06 فروردین 1393, 21:13 عصر
شما داری رو فیلد های تو ویت sum می زنی و باید قبل از union بهش بگی که بر اساس چی گروپ کنه

likemoon
چهارشنبه 06 فروردین 1393, 21:39 عصر
خب اون مشکلم حل شد اسم فیلدها رو در سلکت اشتباه می اوردم :دی
الان یه سوال دیگه پیش اومد من میخوام در حین union کردن یه فیلد دیگه هم اضافه بشه و در اون فیلد حالا یا از طریق یه فلگ یا هر چی مشخث بشه کدوم رکوردها متعلق به کدوم ویو بوده آیا امکان چنین کاری وجود داره؟

sohil_ww
چهارشنبه 06 فروردین 1393, 21:45 عصر
خب اون مشکلم حل شد اسم فیلدها رو در سلکت اشتباه می اوردم :دی
الان یه سوال دیگه پیش اومد من میخوام در حین union کردن یه فیلد دیگه هم اضافه بشه و در اون فیلد حالا یا از طریق یه فلگ یا هر چی مشخث بشه کدوم رکوردها متعلق به کدوم ویو بوده آیا امکان چنین کاری وجود داره؟


بله وجود داره
select a,b,0 as st from yourtable
union
select a,b,c,1 as st from yourtable2

اگه سئوالتونو درست متوجه شده باشم و حالا یه سئوال یعنی بدون گروپ بای شما sum زدید ؟!

likemoon
پنج شنبه 07 فروردین 1393, 01:39 صبح
نه اشتباهم اینجا بود که اسم فیلدها رو از توی سلکتی که برای ویو اولیه میزدم کپی کردم گذاشتم اینور در صورتی که باید فقط اسم مستعار فیلد رو بلند میکردم (اشتباها به همراه sum کپی میکردم)