StevePMedlem sedan mars 2003751 inlägg
Jag ska hämta data för att printa ut en specifik post.
Problemet är att tblConstants innehåller ett fält som heter "Description".
tblPostList har ett fält som heter tblPostList.Officelist och det är relaterat till tblConstants.ConstantsID
När den relationen är gjord så kan man se breskrivningen i "tblConstants.Description" kolumnen.
Men tblPostList innehåller också ett fält som heter tblPostList.CurrentstatusList som är relaterat till tblConstants.ConstantsID precis som tblPostList.OfficeList är.
Hur får jag ut båda i en och samma query?
Som ni ser nedan så har jag
Left outer join tblConstants on tblPostList.OfficeList = tblConstants.ConstantsID
Men jag vill också få in
Left outer join tblConstants on tblPostList.CurrentStatusList = tblConstants.ConstantsID
Båda "tblPostList.CurrentStatusList" och "tblPostList.OfficeList"
är FK's.
Left outer join tblPostListType on tblPostlist.PostTypeID = tblpostListType.PostTypeID
Left outer join tblOrganisations on tblOrganisations.OrgID = tblPostList.OrgID
[b]Left outer join tblConstants on tblPostList.OfficeList = tblConstants.ConstantsID[/b]
Left outer join tblLCPContactDetails on tblPostList.ContactID = tblLCPContactDetails.ContactID
LarsGMedlem sedan dec. 200012 465 inlägg
Du behöver inte ytterligare en left join utan bara ett AND-villkor i din on-klausul.
StevePMedlem sedan mars 2003751 inlägg
jo jag testade med ett AND-Villkor men då blir Description "NULL"
Jag måste separera dom båda åt med varsitt alias, eftersom det bara finns ett description fält. Men det är 2 olika Descriptions. Hur gör jag det ?
Left outer join tblConstants on tblPostList.OfficeList = tblConstants.ConstantsID and tblPostList.CurrentstatusList = tblConstants.ConstantsID
Använder jag bara
Left outer join tblConstants on tblPostList.OfficeList = tblConstants.ConstantsID
Så får jag tillbaka "London" i description fältet, vilket är correct.
Använder jag bara
Left outer join tblConstants on tblPostList.CurrentstatusList = tblConstants.ConstantsID
Så får jag tillbaka "NOT SET" i description fältet, vilket också är correct. Men hur får jag in båda :)
LarsGMedlem sedan dec. 200012 465 inlägg
Jah, då får du joina mot samma tabell (tblCOnstants) två gånger med olika alias.
select t1.descr,t2.descr
from t t1 left join q on t1.id q.id1
left join t t2 on q.id2 = t2.id
StevePMedlem sedan mars 2003751 inlägg
Det är ju nämligen "2" olika ID's som jämförs.
tblPostList.OfficeList innehåller värdet "601" och tblPostList.CurrentstatusList innehåller "885" i den selectade posten.
tblConstants.ConstantsID "601" har värdet "London" i tblConstants.Description och
tblConstants.ConstantsID "885" har värdet "NOT SET" i tblConstants.Description.
Därför kan jag inte bara använda ett AND-villkor.
StevePMedlem sedan mars 2003751 inlägg
Aha ok! Ska testa.
Jag skrev posten ovan precis innan jag såg din nya post, så strunta i den!
StevePMedlem sedan mars 2003751 inlägg
Detdär blev väldigt snurrigt för mig. :)
Kan du visa med korrekta namn?
Det är alltså
tblConstants.ConstantsID
tblConstants.Description
tblPostList.OfficeList
tblPostList.CurrenstStatusList
Båda tblPostList kolumnerna relateras till tblConstants.ConstantsID och tblConstants.Description ger beskrivningen.
StevePMedlem sedan mars 2003751 inlägg
Ah nu funkar det. Tack LarsG!