Gå til innhold

Funksjon som gir første post samt antall poster i en COUNT


Anbefalte innlegg

Folkens

Jeg må løse følgende. I et av VIEW'ene våre så skal jeg illustrere hvorvidt det er en eller flere poster relatert.

 

Eks:

Documents

DocID INT

Div annet.

.

.

 

Contacts

ContactID INT

div annet

.

.

.

 

ConDoc

ContactID INT

DocumentID INT

 

Viewet viser dokumenter. Den skal også vise den første kontakten som er relatert. Hvis det er flere kontakter så skal dette illustreres ved at en "virtuel" kolonne inneholder antall relasjoner

 

Jeg prøvde meg litt på følgende Function uten at dette virker, men jeg tror bestemt jeg er inne på noe

 

CREATE FUNCTION dbo.GetFirstConRel(@EntityGUID uniqueidentifier) RETURNS @RetTbl table(ConGUID uniqueidentifier not null primary key, ConRelCount int)

AS
BEGIN 
  declare @tmp table(ConGUID uniqueidentifier not null primary key)
  insert into @tmp
  select Conrelations.Con_GUID
  from ConRelations 
  where ConRelations.Entity_GUID = @EntityGUID 
  insert into @RetTbl values(select Top(1) ConGUID from @tmp , count(@tmp))

  RETURN
END

Som sagt, dette kompilerer ikke i det hele tatt. Trenger litt rettleding her...

 

Takker for all hjelp

Lenke til kommentar
Videoannonse
Annonse

with docs as (
select row_number() over(partition by d.documentid order by d.documentid) as row,
count(r.contactid) over (partition by d.documentid) as cnt,d.contactid,d.documentid
from condoc d
)
select * from docs where row=1

Her er et eksempel på bruk av common table expressions (CTE). Hvis du ikke kjenner til CTE så les i BOL.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...