"Kim Brandt Jensen /LO" <kim_brandt_jensen@lo.dk> wrote in
news:fc.0073fb6b035b9fbd3b9aca006a58a3b8.35ba031@net.dialog.dk:
> Select *, 1 from
> segement_definition sdef
> where exists (select 1 from alarm_segment aseg where sdef.segment_id =
> aseg.segment_id and
> alarm_id=5)
> Union
> Select *, 0 from
> segement_definition sdef
> where not exists (select 1 from alarm_segment aseg where
> sdef.segment_id = aseg.segment_id and alarm_id=5)
>
Tak for dit svar ... jeg fandt dog i mellemtiden en anden løsning på mit
lille problem - nemlig
select
d.Segment_Id
, d.Segment_Desc
, case when a.Segment_ID is null then 0 else 1 end as IsAlarm
from
SEGMENT_DEFINITION d
left join
(SELECT Segment_Id FROM ALARM_SEGMENT WHERE Alarm_Id = 5) a on
a.Segment_Id = d.Segment_Id
Din løsning er dog mere "tanke-tro", dvs den udfører forespørgslen på samme
måde, som jeg forestillede mig den skulle udføres - hvorimod min anden
løsning er lidt mere "black-box" agtig.
Hvilken der performance-mæssigt er den bedste er jeg ikke klar over.
--
Jesper Stocholm
http://stocholm.dk
ICQ: 13214885
MSN Messenger: jesperstocholm at hotmail dot com