سلام
من یه جدولی دارم که شامل 3 تا ستون هست.
کویری من هم به این صورت هست :
select id,shamsiDate,shiftDesc from Plane_Tbl
اطلاعاتی که جدول نمایش میده به صورت زیر هست :
حالا کویری لازم دارم که اطلاعات موجود در سطرها رو به صورت ستون نمایش بده. یعنی اینکه یک کویری شامل 5 تا ستون باشه.
یک ستون تاریخ رو نمایش بده و چهار ستون بعدی هم A و B و C و D باشه که جلوش نمایش بده آیا در اون روز اون شیفت وجود داره یا خیر
سلام
شما میتونید از دستور 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
به این صورت می تونید عمل جابه جایی سطر و ستون رو انجام بدید.
موفق باشید
این دستور یکم سرعتش از 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]
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4278
- پاسخ :
1
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2563
- پاسخ :
1
|
تاریخ :
1403/01/15
- ساعت :
04:12:00 PM
- بازدید :
798
- پاسخ :
2
|
تاریخ :
1401/12/09
- ساعت :
02:00:00 AM
- بازدید :
1212
- پاسخ :
0
|
تاریخ :
1402/10/18
- ساعت :
10:45:00 PM
- بازدید :
705
- پاسخ :
2
|
تاریخ :
1402/08/18
- ساعت :
08:43:00 AM
- بازدید :
1311
- پاسخ :
0
|
تاریخ :
1402/08/16
- ساعت :
09:45:00 PM
- بازدید :
1037
- پاسخ :
1
|
تاریخ :
1402/06/27
- ساعت :
12:27:00 PM
- بازدید :
1458
- پاسخ :
2
|
تاریخ :
1402/06/25
- ساعت :
11:37:00 AM
- بازدید :
1040
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
49
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
88
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1346
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1156
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
594
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|