我有两张桌子:
客户:id,name 文字:id,文字
“文本”表中的字段文本可以包含客户端的名称。我想为每个文本找到名称包含在文本字段中的客户端。例如:
CLIENTS
id | name
1 | John Smith
2 | Mark Jackson
3 | Ann Boo
TEXTS
id | text
1 | John Smith and Ann Boo are my best friends.
2 | I really don't like Mark Jackson and John Smith.
结果应为:
RESULT
Text.id | Client.id | Client.name
1 | 1 | John Smith
1 | 3 | Ann Boo
2 | 1 | John Smith
2 | 2 | Mark Jackson
我希望你能帮助我:) 我想知道find()函数有什么参数或只有mysql查询
答案 0 :(得分:1)
DECLARE @clients TABLE (ID int IDENTITY(1,1), name VARCHAR(20))
INSERT @clients (name)
SELECT 'John Smith' UNION ALL SELECT 'Mark Jackson' UNION ALL SELECT 'Ann Boo'
DECLARE @texts TABLE (ID int IDENTITY(1,1), [text] VARCHAR(200))
INSERT @texts ([text]) VALUES ('John Smith and Ann Boo are my best friends.')
INSERT @texts ([text]) VALUES ('I really don''t like Mark Jackson and John Smith.')
SELECT T.id [Text.id], C.id [Client.id], C.name [Client.name]
FROM @CLIENTS C
JOIN @TEXTS T
ON T.[text] LIKE '%' + C.NAME + '%'
RESULT
Text.id Client.id Client.name
----------- ----------- --------------------
1 1 John Smith
1 3 Ann Boo
2 1 John Smith
2 2 Mark Jackson