I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SELECT * FROM ForumThreads WHERE id IN (SELECT DISTINCT TOP 5 CASE replyid WHEN 0 THEN id ELSE replyid END AS xid FROM forumthreads ORDER BY ForumThreads.id) slet ikke for at blande mig, men for at hjælpe måske...
SELECT * FROM ForumThreads WHERE id IN ( SELECT CASE replyid WHEN 0 THEN id ELSE replyid END AS xid FROM (SELECT DISTINCT TOP 5 replyid,id FROM forumthreads ORDER BY id DESC) x )
Som udgangspunkt vil det altid kunne svare sig at undgå for mange cases i et sql-udtræk, det vil som regel altid kunne løses på en bedre måde... Og til et simpelt udtræk som dit vil jeg foreslå flg.:
SELECT * FROM ForumThreads WHERE id in (select distinct top 5 coalesce(nullif(replyId, 0), Id) from ForumThreads order by id DESC ) ORDER By AnswerDate
Altså en simpel brug af coalesce... samme funktionalitet kunne opnås med en isnull, men coalesce er sjovere ;-)
SELECT * FROM ForumThreads WHERE id in (select distinct top 5 coalesce(nullif(replyId, 0), Id) from ForumThreads order by coalesce(nullif(replyId, 0), Id) DESC ) ORDER By AnswerDate
ja det giver mening...som jeg lige ser det så skal man lave en selfjoin på select distinct top 5 coalesce(nullif(replyId, 0), Id) from ForumThreads order by coalesce(nullif(replyId, 0), Id) DESC
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.