SQL 查询 JOIN 显示为灰色,第 3 个 table 为空白

SQL query JOIN is greyed out and 3rd table is blank

我有这个SQL查询:

SELECT a.NAME
    ,(CASE 
            WHEN a.TIME = b.schedule
                THEN 0
            ELSE 1
      END ) AS number
INTO C
FROM a
INNER JOIN b
    ON a.NAME = b.NAME;

它根据需要创建第 3 个 table,但 table 是空的,我向您保证,A 的时间列与 B 的所有计划列不匹配。

我注意到 JOIN 变灰了,我有理由相信这是导致问题的原因,但是我是否遗漏了任何让这个查询按需要运行的东西?在此先感谢您的帮助。

您在评论中提到该查询适用于 left join。这意味着当您尝试执行 inner join 时,您的 a.Name = b.Name 条件失败了。

在这种情况下,如果有一个前导 space,您需要弄清楚为什么它们不能适当地相互匹配。

根据您的评论,您的列不匹配,因此您需要进行一些有创意的查询以获得您想要的结果(假设您无法修复数据)。这很丑陋,也不是一个很好的方法,但你可以尝试在字段的开头进行匹配,直到 semi-colon:

SELECT a.NAME
,(CASE 
        WHEN a.TIME = b.schedule
            THEN 0
        ELSE 1
  END ) AS number
 INTO C
FROM a
INNER JOIN b
 on substring(a.Name,1,CHARINDEX(';',a.Name)) = substring(b.Name,1,CHARINDEX(';',b.Name))