Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
HockeyFan
Starting Member
26 Posts |
Posted - 2008-02-28 : 16:08:35
|
| I've got a problem with this query. I'm not great at joins and so I'm not sure how to fix this.I have items not in the CMO table (the last join), but I still want them to at least show up. They're being excluded:SELECT OM.DOCNUM, OM.NAME_LAST, OM.NAME_FIRST, LV.DESCRIPTION AS Sex, ' ' AS Mandatory, CASE WHEN (LSI.Q1 = 1 OR LSI.Q2 = 1 OR LSI.Q3 = 1 OR LSI.Q4 = 1 OR LSI.Q5 = 1 OR LSI.Q6 = 1 OR LSI.Q7 = 1 OR LSI.Q8 = 1 OR LSI.Q9 = 1 OR LSI.Q10 = 1 OR LSI.Q12 = 1 OR LSI.Q13 = 1 OR LSI.Q14 = 1 OR LSI.Q15 = 1 OR LSI.Q16 = 1 OR LSI.Q33 = 1 OR LSI.Q34 = 1 OR LSI.Q39 = 1 OR LSI.Q39 = 0 OR LSI.Q40 = 1 OR LSI.Q40 = 0 OR LSI.Q51 = 1 OR LSI.Q51 = 0) THEN 'Y' ELSE ' ' END AS Optional, OM.CASE_MANAGER_ID_U AS CASE_MANAGER_ID, CASE WHEN (CMO.REMOVAL_RSN_ID_LV = 1022) THEN 'Y' ELSE ' ' END AS Active, CASE WHEN (CMO.REMOVAL_RSN_ID_LV = 1015) THEN 'Y' ELSE ' ' END AS CompleteFROM dbo.OFFENDER_MAIN AS OM LEFT OUTER JOIN dbo.LOOKUP_VALUES AS LV ON LV.ID = OM.GENDER_ID_LV LEFT OUTER JOIN dbo.LSI_ANSWERS AS LSI ON LSI.DOCNUM = OM.DOCNUM LEFT JOIN dbo.COMMUNITY_MOD_OBJ AS CMO ON CMO.DOCNUM = OM.DOCNUMWHERE (LSI.COMIT_ACTIVE = 1) AND (CMO.OBJECTIVE_CODE_ID_LV = 1011) AND (CMO.REMOVAL_RSN_ID_LV = 1022 OR CMO.REMOVAL_RSN_ID_LV = 1015) AND (OM.FACILITY_ID_F <> 1) |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2008-02-28 : 16:20:13
|
[code]SELECT OM.DOCNUM, OM.NAME_LAST, OM.NAME_FIRST, LV.DESCRIPTION AS Sex, ' ' AS Mandatory, CASE WHEN 1 IN (LSI.Q1, LSI.Q2, LSI.Q3, LSI.Q4, LSI.Q5, LSI.Q6, LSI.Q7, LSI.Q8) THEN 'Y' WHEN 1 IN (LSI.Q9, LSI.Q10, LSI.Q12, LSI.Q13, LSI.Q14, LSI.Q15, LSI.Q16) THEN 'Y' WHEN 1 IN (LSI.Q33, LSI.Q34, LSI.Q39, LSI.Q40, LSI.Q51) THEN 'Y' WHEN 0 IN (LSI.Q39, LSI.Q40, LSI.Q51) THEN 'Y' ELSE ' ' END AS Optional, OM.CASE_MANAGER_ID_U AS CASE_MANAGER_ID, CASE CMO.REMOVAL_RSN_ID_LV WHEN 1022 THEN 'Y' ELSE ' ' END AS Active, CASE CMO.REMOVAL_RSN_ID_LV WHEN 1015 THEN 'Y' ELSE ' ' END AS CompleteFROM dbo.OFFENDER_MAIN AS OMLEFT JOIN dbo.LOOKUP_VALUES AS LV ON LV.ID = OM.GENDER_ID_LVLEFT JOIN dbo.LSI_ANSWERS AS LSI ON LSI.DOCNUM = OM.DOCNUM AND LSI.COMIT_ACTIVE = 1LEFT JOIN dbo.COMMUNITY_MOD_OBJ AS CMO ON CMO.DOCNUM = OM.DOCNUMWHERE CMO.OBJECTIVE_CODE_ID_LV = 1011 AND CMO.REMOVAL_RSN_ID_LV IN (1022, 1015) AND OM.FACILITY_ID_F <> 1[/code] E 12°55'05.25"N 56°04'39.16" |
 |
|
|
|
|
|
|
|