表 1 - USERS:
user_id | email_id | type
---------------------------------------
000121 | test_20@test.com | EXT
000125 | best_21@test.com | LOT
000128 | lite_21@test.com | EXT
表 2- HISTORY:
old_user_id | new_user_id | another_type
----------------------------------------
000128 | 000121 | INIT
私が持っているemail_id場合、 1test_20@test.comを返す必要がある結合クエリを実行したいと思います.as TYPEのテーブルとasのテーブルにあります;user_email_idUSERSEXTHISTORYANOTHER_TYPEINIT
の単一の結合を持つクエリがありますold_user_id。
IF EXISTS (SELECT 1 FROM history cmr (nolock)
INNER JOIN users au (nolock)
ON au.user_id = cmr.old_user_id
AND cmr.another_type = 'INIT 'AND au.type = 'EXT'
AND au.email_id = 'test_20@test.com')
SELECT 1 ELSE SELECT 0
test_20@test.comまたはをクエリするとtest_20@test.com、1 が返されるはずです。また、 の結合条件を追加したいですnew_user_id。
したがって、どちらかのユーザー (古いユーザーまたは新しいユーザー) が にいてEXT、にいる必要がありUSERSますINITHISTORY
前もって感謝します