webForumDet fria alternativet

Sp problem igen !!!

9 svar · 242 visningar · startad av Tobbster

TobbsterMedlem sedan mars 2001309 inlägg
#1

Problemet är följande

Select Companyname,City, Fname,Lname,Contactid from  NKu_ContactPerson join NKu_Company on
 NKu_ContactPerson.Companyid =  NKu_Company.Companyid where Contactid in
  (Select  Contactid from Nku_responsible where personid = 1 and responsiblefromdate  är det högsta )

Det kan alltså förekomma poster som nästa är likadana med skillnaden att responsiblefromdate är olika högt !

LarsGMedlem sedan dec. 200012 464 inlägg
#2
Select Companyname,
           City, 
           Fname,
           Lname,
           Contactid 
  from  NKu_ContactPerson np join NKu_Company nc
     on  np.Companyid = nc.Companyid 
   join  NKu_responsible nr
      on nc.contactid = nr.contactid
 where responsiblefromdate in
  (Select  max(responsiblefromdate)
       from Nku_responsible 
    where personid = 1 
        and contactid = nr.contactid )
TobbsterMedlem sedan mars 2001309 inlägg
#3

Det funkar inte riktigt får följande felmeddeland..


Server: Msg 207, Level 16, State 3, Line 18
Invalid column name 'contactid'.
Server: Msg 209, Level 16, State 1, Line 18
Ambiguous column name 'ContactId'.

Select Companyname,City,Fname,Lname,Contactid from  NKu_ContactPerson np join NKu_Company nc on
  np.Companyid = nc.Companyid join NKu_responsible nr on nc.contactid = nr.contactid where responsiblefromdate in
  (Select  max(responsiblefromdate) from Nku_responsible  where personid = 1  and contactid = nr.contactid )

Men det är nära det känns ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#4
Select Companyname,City,Fname,Lname,np.Contactid from  NKu_ContactPerson np join NKu_Company nc on
  np.Companyid = nc.Companyid join NKu_responsible nr on nc.contactid = nr.contactid where responsiblefromdate in
  (Select  max(responsiblefromdate) from Nku_responsible  where personid = 1  and contactid = nr.contactid )
TobbsterMedlem sedan mars 2001309 inlägg
#5

Jag får tyvärr fortfarande följande felmeddelande.

Det borde vara det feta som blir fel eller ?
Jag har provat lite allternativ men får det inte att funka :(

Select Companyname,City,Fname,Lname,np.Contactid from  NKu_ContactPerson np join NKu_Company nc on
  np.Companyid = nc.Companyid join NKu_responsible nr on nc.contactid = nr.contactid where responsiblefromdate in
  (Select  max(responsiblefromdate) from Nku_responsible  where personid = 1  and [b]contactidb[/b] = nr.contactid )

Server: Msg 207, Level 16, State 3, Line 1

LarsGMedlem sedan dec. 200012 464 inlägg
#6
Select Companyname,City,Fname,Lname,[b]nr[/b].Contactid from  NKu_ContactPerson np join NKu_Company nc on
  np.Companyid = nc.Companyid join NKu_responsible nr on nc.contactid = nr.contactid where responsiblefromdate in
  (Select  max(responsiblefromdate) from Nku_responsible  where personid = 1  and contactid = nr.contactid )

Nu då.

TobbsterMedlem sedan mars 2001309 inlägg
#7

Tyvärr inte !

Server: Msg 207, Level 16, State 3, Line 6
Invalid column name 'contactid'.

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Kan du beskriva vilka kolumner som finns i vilka tabeller.

TobbsterMedlem sedan mars 2001309 inlägg
#9

Okej så här ser det ut !!!

Nku_Responible
---------------------
Personid,int
Responsiblefromdate,datetime
Contactid,int

Nku_ContactPerson
--------------------------
Contactid,int
Fname, Nvarchar
Lname,Nvarchar
CompanyId,int
mm,

Nku_Company
------------------------
CompanyId,int
Companyname,text
City,text

Det jag vill ha fram är:

Companyname,City,Fname,Lname,Contactid på alla kontakter en viss person är ansvarig för(Personid i Nku_Responible) För att en person ska vara ansvarig för contacten så ska den ha högst Responsiblefromdate i Nku_Responible.

ett contactid kan ju förekomma på många personer men det är det med det högsta Responsiblefromdate som gäller de överiga är för att man ska kunna föra statistik på tex contact byte mm....

Hoppas det hjälper......

Jag vill till Sp ha ett personid som inparameter alltså !

Tack föresten för att du tar dig tid.

LarsGMedlem sedan dec. 200012 464 inlägg
#10
create procedure spproblem2 @personid int as

Select Companyname,City,Fname,Lname,nr.Contactid 
 from  NKu_Company nc join NKu_ContactPerson np 
   on  nc.Companyid = np.Companyid join NKu_responsible nr 
   on  np.contactid = nr.contactid 
where responsiblefromdate in
  (Select  max(responsiblefromdate) 
      from Nku_responsible  
     where personid =  nr.personid  
       and contactid = nr.contactid )
 and nr.personid = @personid

Jag hade blandat ihop lite prefix tidigare så förhoppningsvis ...

Jag vände på ordningen i första joinen på grund av personliga estetiska skäl.

133 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)