В моей таблице есть комментарий Datarow, который хранится как текстовый тип данных.
И у меня есть Datarow idPersonalstamm, который хранится как int.
Моя проблема иногдаслучается, что данные из Personalstamm копируются в комментарии.
Так что я сделал утверждение case, которое должно привести оба к varchar, а затем сравнить их, и если комментарий равен personalstamm, он должен установить комментарий как Null, если нетэтот комментарий.
Но это всегда касается оператора else.В чем моя вина или как я могу достичь своей цели другим способом?
Все это является частью скрипта Powershell, который запрашивает этот запрос раз в неделю из терминала посетителя.
> My output looks like this
> Nr. id. Comment.
>1---2----2
> 2---3---some text
> 3---4---
> it should look like this
>Nr. id. Comment.
>1---2---
>2---3---some text
>3---4---
<pre><code>SELECT ROW_NUMBER() OVER(ORDER BY vb.Arrival ASC) AS Nr,
p.idPersonalstamm,
CASE vr.rating
WHEN 3 THEN 'Sehr Gut'
WHEN 2 THEN 'Gut'
WHEN 1 THEN 'Nicht so Gut'
ELSE 'Sonstiges'
END AS Bewertung,
<b>Case
WHEN CAST(vr.Comment as varchar (20)) = CAST(p.idPersonalstamm as varchar (20)) Then null
ELSE vr.Comment
END as Comment,</b>
vb.Arrival,
vb.Departure,
p.Name,
p.FirstName,
p.Company,
p.Stadt
From Personalstamm p
left join (
select vr.*,
row_number() over (partition by idPersonalstamm order by idPersonalstamm) as seqnum
from VisitRating vr
) vr on p.idPersonalstamm = vr.idPersonalstamm
left join (
select vb.*,
row_number() over (partition by idVisitor order by idVisitor) as seqnum
from VisitorBooking vb
) vb on p.idPersonalstamm = vb.idVisitor and vb.seqnum = vr.seqnum
where p.idPersonalstamm is not null