私はこのクエリを約2日間作業しています。スタッフのためのテーブルがあります。各場所には、リストされたアルファに基づいて世話をする顧客のリストを取得する複数のスタッフがいます。アルファは標準のシングルまたはダブルの文字ではなく、テーブルのように3つの文字を1から3つ置きます。私は顧客のリストとそのアルファレンジの顧客の姓に基づいてスタッフを割り当てようとしています。私は多くのクエリを試してみましたが、すべて失敗しています。複数の文字アルファベットに基づく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/) - これはどこにでも使用することをお勧めしません。反対! –