0
サードパーティのデータベースがあります。連絡先情報は、多くのテーブル、contact1、contact2、contsuppに含まれています。内部結合、左外部結合を使用して、Where句に構文エラーを適用します。クエリは、左外部結合なしで機能します。しかし、私は正しい電子メールを選択する必要があります。この場合where句はどこに置かれますか?内部結合の使用、左外部結合、クロス適用適用構文:where句
SELECT 'P',
'NA' PEOPLE_ID,
'NA' PEOPLE_CODE_ID,
T.ForeName,
T.Middle_Name,
T.Surname,
'PERM',
'N',
GetDate(),
GetDate(),
'SCTBRDG',
'0001',
GetDate(),
GetDate(),
'SCTBRDG',
'0001',
'*',
C2.UBIRTHDATE,
C2.Ubrthcnty,
CASE WHEN LEFT([URELEASE], 6) IN ('Employer', 'EMPLYR') THEN 'EMPLYR' ---was URELEASE
WHEN LEFT([URELEASE], 6) IN ('Family', 'Sister', 'OFAM') THEN 'OFAM'
WHEN LEFT([URELEASE], 6) = 'FATHER' THEN 'FATHER'
WHEN LEFT([URELEASE], 6) IN ('Friend', 'OTHER') THEN 'OTHER'
WHEN LEFT([URELEASE], 6) IN ('Guardian', 'GUARDN') THEN 'GUARDN'
WHEN LEFT([URELEASE], 6) = 'MOTHER' THEN 'MOTHER'
WHEN LEFT([URELEASE], 6) IN ('PARENT', 'Parents') THEN 'PARENT'
WHEN LEFT([URELEASE], 6) = 'RESTR' THEN 'RESTR'
WHEN LEFT([URELEASE], 6) = 'Spouse' THEN 'Spouse'
WHEN LEFT([URELEASE], 6) IS NULL THEN 'NROF'
ELSE 'NONE' END AS ReleaseInfo,
C2.Ugender,
C2.Umarstat,
C2.Udenominat,
C2.Uveteran,
C2.Ucntrycitz,
C2.Uvisatype,
i.ACCOUNTNO,
i.ADDRESS1,
i.ADDRESS2,
i.ADDRESS3,
i.CITY,
i.STATE,
i.ZIP,
i.PHONE3,
i.FAX,
C2.UCOUNTY,
ISNULL(C2.UEMAILSCT, replace(lower(T.ForeName) + '.' + lower(T.Surname) + '@okwstudents.edu', ' ', '')),
cs.CONTSUPREF as EMAIL, --Personal Email
C2.UADDRTYPE,
i.KEY2,
i.KEY5,
i.KEY3,
C2.UCURRICULM,
C2.UMAJOR,
i.DEPARTMENT,
C2.UCOLLCMPLT,
C2.UFULLPART,
C2.UCOHORT,
C2.UAPPLICDT,
C2.USTUSTATDT,
C2.UDECISCODE,
C2.UDECISDATE,
C2.USTRTTRMDT,
C2.UCOHRTSTDT,
C2.UADMCOUNCD,
C2.UADVISMNTR,
i.Phone1,
i.Phone2,
Uethnicbg,
i.COUNTRY,
C2.USOCSECNUM GOVERNMENT_ID,
i.KEY1,
C2.Urelease RELEASE_INFO,
C2.USOCSECNUM TAX_ID, ---
C2.USOCSECNUM, ---
GETDATE()
FROM
--inserted i ---test inserted,
GoldMine_test.dbo.CONTACT1 i
Inner Join CONTACT2 C2 on (i.ACCOUNTNO = C2.ACCOUNTNO)
CROSS APPLY dbo.NameParser(i.Contact) T
--inner join GoldMine_test.dbo.CONTACT2 c2 on (i.ACCOUNTNO = c2.ACCOUNTNO)
LEFT outer join GoldMine_test.dbo.CONTSUPP cs on ( (cs.ACCOUNTNO = i.ACCOUNTNO)
AND (cs.RECTYPE='P')
AND (cs.U_CONTACT = 'E-MAIL ADDRESS')
WHERE i.Key1 = '31-ATE' --Incorrect syntax near the keyword 'WHERE'
OR (i.Key1 = '50-DEP')
OR (i.Key1 = '51-RET')
を動作するか確認してくださいGoldMine_test.dbo.CONTSUPPへの結合述部の余分な括弧。私はノイズと余分なキーストローク以外何も提供しないので、それらのカッコをすべて削除するだけです。 –
本当に必要な場合を除いて、かっこは使用しないでください。間違いをするのは本当に簡単です。 –