使用MS Access SQL查询中存储在表列中的通配符
我想在Access中基于不同行的不同通配符连接两个表 第一个使用MS Access SQL查询中存储在表列中的通配符,sql,ms-access,Sql,Ms Access,我想在Access中基于不同行的不同通配符连接两个表 第一个table1包含具有不同通配符的行,table2包含应与table1中的通配符匹配的列 我想象SQL代码如下所示: SELECT * FROM table2 LEFT JOIN table1 ON table2.subject LIKE table1.wildcard 这些表如下所示: 第三张图片显示了我想要的结果 我该如何执行join或者是否有其他选择?我认为MySQL不支持joins的非相等条件。因此,您可以这样做: SEL
table1
包含具有不同通配符的行,table2
包含应与table1
中的通配符匹配的列
我想象SQL代码如下所示:
SELECT *
FROM table2
LEFT JOIN table1
ON table2.subject LIKE table1.wildcard
这些表如下所示:
第三张图片显示了我想要的结果
我该如何执行join或者是否有其他选择?我认为MySQL不支持
join
s的非相等条件。因此,您可以这样做:
SELECT * -- first get the matches
FROM table2 as t2, -- ugg, why doesn't it support CROSS JOIN
table1 as t1
WHERE t2.subject LIKE t1.wildcard
UNION ALL
SELECT * -- then get the non-matches
FROM table2 as t2 LEFT JOIN
table1 as t1
ON 1 = 0 -- always false but gets the same columns
WHERE NOT EXISTS (SELECT 1
FROM table1 as t1
WHERE t2.subject LIKE t1.wildcard
);
伟大的这行吗?你有什么问题?