PDA

View Full Version : انجام تقسیم صحیح در sql



bahar2008
پنج شنبه 12 اردیبهشت 1387, 09:54 صبح
سلام دوستان خوبم

چه جوری می تونم 2 تا از سطرهای دو table مختلف رو بر هم تقسیم کنم به طوری که اگر مقسوم علیه صفر بود پیغام خطا نده و تقسیم رو انجام بده و خود عدد رو به عنوان جواب تقسیم نشون بده؟

من در view دو تا table ها رو گذاشتم و بر اساس یک فیلد مشترک اونها رو بر هم تقسیم کردم ولی اون جدولهارو با هم join کرد و وقتی هم براش شرط گذاشتم که مقسوم علیه صفر نباشه جواب درستی نداد :ناراحت:

رضا عربلو
پنج شنبه 12 اردیبهشت 1387, 13:26 عصر
SELECT
CASE
WHEN Filed2 = 0 THEN Filed1
ELSE Field/Field2
END
, ...
FROM ....

bahar2008
پنج شنبه 12 اردیبهشت 1387, 17:07 عصر
ممنونم از راهنماییتون دوست عزیز
من این دستور شما رو به صورت زیر در view خود sql نوشتم



SELECT dbo.setande2.sal81,dbo.dade2.sal81 AS Expr1
CASE
WHEN dbo.dade2.sal81 = 0 THEN dbo.setande2.sal81
ELSE
dbo.setande2.sal81 / dbo.dade2.sal81 AS shakhes
FROM dbo.setande2 CROSS JOIN
dbo.dade2




ولی وقتی run رو زدم پیغام خطای زیر رو داد:ناراحت:

Error in SELECT clause: expression near 'CASE'.
Unable to parse query text.

رضا عربلو
جمعه 13 اردیبهشت 1387, 00:31 صبح
SELECT dbo.setande2.sal81,dbo.dade2.sal81 AS Expr1,--(این , را جا گذاشته اید)
CASE
WHEN dbo.dade2.sal81 = 0 THEN dbo.setande2.sal81
ELSE
dbo.setande2.sal81 / dbo.dade2.sal81 END AS shakhes
FROM dbo.setande2 CROSS JOIN
dbo.dade2

bahar2008
جمعه 13 اردیبهشت 1387, 11:26 صبح
با چند بار پیغام خطا دادن بالاخره مشکل حل شد:قلب:
ممنونم از لطفت دوست عزیز :قلب::قلب::قلب::قلب: