PDA

View Full Version : انتخاب مقادیر رکوردهای خاص در دیتابیس با پروسیجر



hosseines
چهارشنبه 17 دی 1393, 00:00 صبح
سلام خدمت دوستان. بنده یک جدول دارم که شامل کد-نام و نشان - وضعیت حضور است میخوام یک پروسیجر بنویسم که بیاد نام و نشان رکوردی که وضعیت حضور مرخصی رو تو یک متغییر بریزه تا بعد بتونم چاپ کنم. مثلا جدول شامل رکوردهای زیر می باشد: 1- حسین محمدی - حضور 2- علی میرزایی - مرخصی 3 - حسن حسنی - مرخصی 4- محمد عسکری -حضور 5- مهدی مهدوی - مرخصی خوب حالا می خوام یک متغییر داشته باشم که مقدارش بصورت زیر پر شه تا بعد بفرستم برای گزارش گیری : علی میرزایی - حسن حسنی - مهدی مهدوی

pezhvakco
چهارشنبه 17 دی 1393, 08:29 صبح
خواسته شما رو نفهمیدم.
برای گزارش گیری بر اساس "وضعیت حضور" که باید با Where کار کنید .

ولی اینکه می خواهید یک متغییر باشه و داده ها درون اون نگه داری بشه رو نفهمیدم .

آیامی خواهین متغییر در خود SQL باشه و این داده ها به صورت ردیفی (جدول) نگه داری بشه و با در یک ردیف .

hosseines
چهارشنبه 17 دی 1393, 14:23 عصر
من برنامه رو برای لیست حضور و غیاب می خوام دو متغیر برای نگهداری اسامی افرادی که مرخصی و یا غیبت می باشند میخوام و داده ها در یک ردیف باشند. میخوام گزارشی بصورت فایلی که ضمیمه کردم باشد.

hosseines
جمعه 19 دی 1393, 11:32 صبح
از دوستان کسی نمیدونه چیکار باید بکنم.

fahimi
جمعه 19 دی 1393, 21:23 عصر
یک روش اینکه می توانی از یک فیلد جهت مشخص نمودن حضور استفاده کنی . برای مثال
1= حضور
2=مرخصی
3= غیبت
و با یک SubQuery نتایج را استخراج کنی

aslan
جمعه 19 دی 1393, 21:41 عصر
سلام
اگر مشکلتون نمایش اسامی کنار هم هستش میتونین از کد زیر استفاده کنین :


DECLARE @cols1 NVARCHAR(3000)
SELECT @cols1 =STUFF(( SELECT ' _ '+ (t.Name)
FROM tmp AS t where vaziyat='مرخصی' FOR XML PATH('')), 1, 3, '')
print replace(@cols1, ' ', '')

بقیه موارد هم که دیزاین یک گزارش ساده هستش
.....
موفق باشید

hosseines
شنبه 20 دی 1393, 14:50 عصر
سلام دوست عزیز من کد بالا را اجرا کردم ولی خطای زیر را میده. Line 3: Incorrect syntax near 'XML' علتش چیه..؟

pezhvakco
یک شنبه 21 دی 1393, 08:34 صبح
ولی خطای زیر را میده. Line 3: Incorrect syntax near 'XML' علتش چیه..؟
http://barnamenevis.org/showthread.php?270173-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%AC%D9%85%DB%8C%D8%B9-%D9%85%D9%82%D8%A7%D8%AF%DB%8C%D8%B1-%DB%8C%DA%A9-%D8%B3%D8%AA%D9%88%D9%86-%D8%B1%D8%B4%D8%AA%D9%87-%D8%A7%DB%8C-%D8%A8%D8%A7-%D8%B4%D8%B1%D8%A7%DB%8C%D8%B7-%D8%AE%D8%A7%D8%B5%28%D8%B4%D8%A8%DB%8C%D9%87-%D8%A8%D9%87-Group-By%29