declare @TA table(TAID int, TAKEY nvarchar(10),TACONTENT nvarchar(10))
declare @TB table(TBID int, TBKEY nvarchar(10),TBCONTENT nvarchar(10))
declare @TC table(TCID int, TCKEY nvarchar(10),TCCONTENT nvarchar(10))
INSERT INTO @TA
SELECT 1,'T','K' UNION ALL
SELECT 2,'TT','AK' UNION ALL
SELECT 3,'TK','TK' UNION ALL
SELECT 4,'KT','TK'
INSERT INTO @TB
SELECT 5,'TR','K' UNION ALL
SELECT 6,'TTS','AK' UNION ALL
SELECT 7,'TKU','TK' UNION ALL
SELECT 8,'KTP','TK'
INSERT INTO @TC
SELECT 9,'TRT','K' UNION ALL -- 这一行没有选出来
SELECT 10,'TTSTK','AK' UNION ALL
SELECT 11,'TKUS','TSK' UNION ALL
SELECT 12,'KTP','TRK'
SELECT * FROM (
SELECT TAID,TAKEY,TACONTENT FROM @TA
UNION ALL
SELECT TBID,TBKEY,TBCONTENT FROM @TB
UNION ALL
SELECT TCID,TCKEY,TCCONTENT FROM @TC
) T
WHERE charindex('TK',ltrim(T.TAKEY)+' '+ltrim(T.TACONTENT))>0
/*
TAID TAKEY TACONTENT
----------- ---------- ----------
3 TK TK
4 KT TK
7 TKU TK
8 KTP TK
10 TTSTK AK
11 TKUS TSK
*/