SQL
אני מצרפת פה את שאילתא שכתבתי היא שולפת לי טבלה ,
1. ולטבלה הזאת אני צריכה לצרף טבלה נוספת כזאתי ....
ז"א אני צריכה להציג טבלה שלישית שתכיל את השאילתא הזאת וששולפת טבלה ועוד אחת כזאת ... השאלה איך אפשר ?
2.בתנאי אני צריכה ששדה שמופיע המילה עסקת /עסקה לא יופיע לי והוא כן מביא לי ואני לא מוצאת את הבעיה ....
declare @reportDateM1 varchar(100)
declare @reportDateM2 varchar(100)
--נתוני התאריך
set @reportDateM1 ='2018-06-01'
set @reportDateM2 ='2018-06-30'
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
DECLARE @a AS NVARCHAR(MAX)
set @a = N'%עסקת%'
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(oprj.PrjName)
from OPRJ
where( (PrjCode>1 and PrjCode<25 )or oprj.PrjCode=104 or oprj.PrjCode=106 or oprj.PrjCode=100 or oprj.PrjCode=108)
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
set @query ='SELECT distinct c,'+ (@cols)+' from
(
(select ocrd.CardName c,sum(jdt1.Debit) s,oprj.PrjName p
from ocrd
join jdt1
on jdt1.ContraAct = ocrd.CardCode
join ojdt
on ojdt.TransId = JDT1.TransId
join oprj
on oprj.PrjCode = JDT1.Project
where jdt1.Account = ''8102'' and not (jdt1.LineMemo LIKE ''%עסקה%'' or jdt1.LineMemo
LIKE ''%עיסקה%'' or jdt1.LineMemo like '''+(@a) +''')
and (jdt1.DueDate >='''+( @reportDateM1) +''' and jdt1.DueDate <= '''+( @reportDateM2) +''')
and ( (PrjCode>1 and PrjCode<25 )or oprj.PrjCode=104 or oprj.PrjCode=106 or oprj.PrjCode=100 or oprj.PrjCode=108)
group by ocrd.CardName ,oprj.PrjName)
) x
pivot
(
max(s)
for p in (' + @cols + ')
) p '
execute(@query)
אני מצרפת פה את שאילתא שכתבתי היא שולפת לי טבלה ,
1. ולטבלה הזאת אני צריכה לצרף טבלה נוספת כזאתי ....
ז"א אני צריכה להציג טבלה שלישית שתכיל את השאילתא הזאת וששולפת טבלה ועוד אחת כזאת ... השאלה איך אפשר ?
2.בתנאי אני צריכה ששדה שמופיע המילה עסקת /עסקה לא יופיע לי והוא כן מביא לי ואני לא מוצאת את הבעיה ....
declare @reportDateM1 varchar(100)
declare @reportDateM2 varchar(100)
--נתוני התאריך
set @reportDateM1 ='2018-06-01'
set @reportDateM2 ='2018-06-30'
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
DECLARE @a AS NVARCHAR(MAX)
set @a = N'%עסקת%'
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(oprj.PrjName)
from OPRJ
where( (PrjCode>1 and PrjCode<25 )or oprj.PrjCode=104 or oprj.PrjCode=106 or oprj.PrjCode=100 or oprj.PrjCode=108)
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
set @query ='SELECT distinct c,'+ (@cols)+' from
(
(select ocrd.CardName c,sum(jdt1.Debit) s,oprj.PrjName p
from ocrd
join jdt1
on jdt1.ContraAct = ocrd.CardCode
join ojdt
on ojdt.TransId = JDT1.TransId
join oprj
on oprj.PrjCode = JDT1.Project
where jdt1.Account = ''8102'' and not (jdt1.LineMemo LIKE ''%עסקה%'' or jdt1.LineMemo
LIKE ''%עיסקה%'' or jdt1.LineMemo like '''+(@a) +''')
and (jdt1.DueDate >='''+( @reportDateM1) +''' and jdt1.DueDate <= '''+( @reportDateM2) +''')
and ( (PrjCode>1 and PrjCode<25 )or oprj.PrjCode=104 or oprj.PrjCode=106 or oprj.PrjCode=100 or oprj.PrjCode=108)
group by ocrd.CardName ,oprj.PrjName)
) x
pivot
(
max(s)
for p in (' + @cols + ')
) p '
execute(@query)