دسته بندی ها
23:05 1398/07/18
جابه جایی سطر و ستون در Sql Server
سلام
من یه جدولی دارم که شامل 3 تا ستون هست.
- ستون اول ID
- ستون دوم نام شیفتهای کاری
- ستون سوم هم تاریخ شیفتهای کاری
کویری من هم به این صورت هست :
select id,shamsiDate,shiftDesc from Plane_Tbl
اطلاعاتی که جدول نمایش میده به صورت زیر هست :
حالا کویری لازم دارم که اطلاعات موجود در سطرها رو به صورت ستون نمایش بده. یعنی اینکه یک کویری شامل 5 تا ستون باشه.
یک ستون تاریخ رو نمایش بده و چهار ستون بعدی هم A و B و C و D باشه که جلوش نمایش بده آیا در اون روز اون شیفت وجود داره یا خیر
ویرایش شده در پنج شنبه 19 فروردین 1400 ساعت 01:55:39
مشخصات سوال کننده :
کاربر : hamid_b
امتیاز کاربر : 510
رتبه کاربر : 4
به این سوال امتیاز بدهید
1
تعداد بازدید این سوال : 5851
پاسخ دهنده : saedbfd
23:24 1398/07/26
سلام
شما میتونید از دستور Pivot در Sql Server استفاده کنید. به صورت غیر Pivot هم می تونید این کار رو انجام بدید. من یک قطعه کد رو براتون قرار می دم.
select PD.shamsiDate,
IsNull((Select PD_A.ShiftDesc From Plane_Tbl PD_A Where ShiftDesc = 1 And PD_A.shamsiDate = pd.shamsiDate),'استراحت') As shiftA,
IsNull((Select PD_B.ShiftDesc From Plane_Tbl PD_B Where ShiftDesc = 2 And PD_B.shamsiDate = pd.shamsiDate),'استراحت') As shiftB,
IsNull((Select PD_C.ShiftDesc From Plane_Tbl PD_C Where ShiftDesc = 3 And PD_C.shamsiDate = pd.shamsiDate),'استراحت') As shiftC,
IsNull((Select PD_D.ShiftDesc From Plane_Tbl PD_D Where ShiftDesc = 4 And PD_D.shamsiDate = pd.shamsiDate),'استراحت') As shiftD
From Plane_Tbl PD Group By shamsiDate
به این صورت می تونید عمل جابه جایی سطر و ستون رو انجام بدید.
موفق باشید
پاسخ دهنده : reza001364
23:24 1398/07/26
این دستور یکم سرعتش از subquery بیشتر هستش فک کنم به کارتون بیاد
select id , [Date],
Count (case when [shift] = 'A' then 1 end) As [A],
Count (case when [shift] = 'B' then 1 end) As [B],
Count (case when [shift] = 'C' then 1 end) As [C],
Count (case when [shift] = 'D' then 1 end) As [D]
from TTT
Group by id , [Date]
ویرایش شده در جمعه 11 مهر 1399 ساعت 01:34:36
آخرین سوالات ثبت شده
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
سوالات مرتبط
- حذف کامل یک رکورد در جدول ریلیشن شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- تفاوت اوراکل و Sql Server چیست
- استفاده از Stored Procedure در انتیتی فریم ورک code First
- آپدیت لیستی از رکوردها در Sql Server - آپدیت گروهی اطلاعات در Sql Server
- دلیل پرش 1000 تایی خودکار فیلد identity در Sql server
- اتصال دیتابیس اکسس به کریستال ریپوت
- مشکل نمایش ندادن Data Type موقع تایپ در Sql Server
- کار با تاریخ شمسی وساعت (استفاده از توابع )
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.
 
ورود