我有两个表Client_Type和Client_Data
Client_Type Client_Data
Type Description ID Type Files
------------------- -----------------------------------
A AGREEMENT 1 Student PDF-Report Card.pdf
E EXAM PAPER 2 Teacher PDF- Contract Agreement.pdf
L LETTER 3 Student word- Final exam paper.doc
R REPORT 4 Student PDF-Letter.pdf
我想根据以上两个表制作第三个表格,如
ID Client_Type.Type Files
-----------------------------------
1 R PDF-Report Card.pdf
3 E word- Final exam paper.doc
4 L PDF-Letter.pdf
我想搜索[Client_Data]。[Type],如果是Student,那么我想将[Client_Type]。[Description]与[Client_Data]匹配。[Files],如果有匹配的单词描述我想将类型分配给第三个表中的该记录
答案 0 :(得分:1)
这可能不会很快(取决于你的数据的大小),但它应该做你想要的:
SELECT
cd.id,
ct.type,
cd.files
FROM
client_data cd
INNER JOIN client_type ct
ON cd.Files LIKE '%' + ct.description + '%'
WHERE
cd.Type = 'Student';
答案 1 :(得分:1)
你想要这样的东西:
SELECT cd.*, ct.type AS client_type
FROM client_data cd JOIN
client_type ct
ON cd.files LIKE '%' + ct.description + '%'
WHERE cd.type = 'Student';
如果您具有区分大小写的排序规则,则可以小写ON
子句的列:
on lower(cd.files) like '%' + LOWER(ct.description) + '%'
而且,如果要安全,您希望保留所有学生,然后使用LEFT JOIN
而不仅仅JOIN
。