1
我一直在研究這個查詢將近兩天。下面有一張工作人員桌子。每個地點都有多位員工根據列出的alpha來獲取他們需要照顧的客戶名單。然而,阿爾法不是標準的單字符或雙字符,而是他們將單個直到三個字母放在桌子上。我試圖根據客戶姓氏在這些alpha範圍內獲得客戶名單和他們的分配人員,我嘗試了很多查詢,並且他們都在某個級別上失敗。基於多個字符alpha的SQL Server 2008名稱列表
我用一對夫婦的熱膨脹係數,以獲得訂單的一切,試圖在馬克斯
declare @maxChar varchar(3) = (select min(len(val)) from (
select staffStartChar val from StaffAlphaList where staffLocId = 1
union
select staffEndChar from StaffAlphaList where staffLocId = 1
)temp)
select customerName
, upper(LTRIM(RTRIM(
LTRIM(RTRIM(ISNULL(employee.f_name, ''))) + ' ' +
LTRIM(RTRIM(ISNULL(employee.m_name, ''))) + ' ' +
LTRIM(ISNULL(employee.l_name, ''))
)))
from Customers with (nolock)
left outer join StaffAlphaList with (nolock)
on StaffAlphaList.staffLocId= Customers.LocId
left outer join employee with (nolock)
on employee.empl_no = StaffAlphaList.staffId
where lower(left(customerLastName, @maxChar)) between StaffAlphaList.staffStartChar and StaffAlphaList.staffEndChar
設置[壞習慣踢 - 把NOLOCK無處不在](http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/) - 它是*不推薦*到處使用 - 相當相反! –