Sql 将一个表中的所有值与参考表进行比较,并将匹配标记为';1';其他';0';
我需要创建一个易于更新的引用表-称之为REF table 然后,我需要将不同表中某列的值(称之为其他表)与REF表中的值进行比较 然后,理想情况下,使用CASE-WHEN语句,以便来自其他语句的值与来自REF的值相匹配,然后是1或0 我已经在线搜索了一段时间,包括这个网站,但找不到确切的我需要的内容,有些答案只返回匹配的值,但我需要返回所有值,并将正确值标记为1,将不正确值标记为0Sql 将一个表中的所有值与参考表进行比较,并将匹配标记为';1';其他';0';,sql,Sql,我需要创建一个易于更新的引用表-称之为REF table 然后,我需要将不同表中某列的值(称之为其他表)与REF表中的值进行比较 然后,理想情况下,使用CASE-WHEN语句,以便来自其他语句的值与来自REF的值相匹配,然后是1或0 我已经在线搜索了一段时间,包括这个网站,但找不到确切的我需要的内容,有些答案只返回匹配的值,但我需要返回所有值,并将正确值标记为1,将不正确值标记为0 也许我没有很好地描述我的搜索,因为我是新手。使用左连接和大小写?我假设有一个可以连接的字段 乙二醇 或者一个存在的
也许我没有很好地描述我的搜索,因为我是新手。使用左连接和大小写?我假设有一个可以连接的字段 乙二醇 或者一个存在的案例
select T1.ColA,
case
when exists (select T2.ColA from Table2 where T1.ColA = T2.ColA) then 1
else 0 end as T2Match
from Table1 T1
如果您使用的是SQL Server,请使用相关子查询
SELECT OTHER.Column, ISNULL((select MAX(1) from REF WHERE REF.Column=OTHER.Column),0) ExistInRef
FROM OTHER
请附上一些资料。。这是一个不清楚的问题
LEFT JOIN
加上当col为NULL时,则0 ELSE 1 END
?添加示例表数据(两个表)和预期结果。标记使用的dbms。(为了避免更多特定于产品的答案,在了解dbms之前。)ISNULL是特定于产品的函数-适用于哪个dbms?(这个问题没有标记dbms。)那好多了!
SELECT OTHER.Column, ISNULL((select MAX(1) from REF WHERE REF.Column=OTHER.Column),0) ExistInRef
FROM OTHER