我在 Sql Server 2008 上有两个表。
ownership
有 3 个字段和case
另外 3 个字段,我需要在 ID 字段(bigint)上加入这两个字段。
出于测试目的,我只使用每个表中的一个字段。该字段是 bigint 并且具有从 1 到 170 的值(目前)。
我的查询是:
SELECT DISTINCT
ownership.fCase,
case.id
FROM
ownership LEFT JOIN case ON (case.id=ownership.fCase)
WHERE
ownership.dUser='demo'
预计这将在两列上返回 4 行具有相同值的行。问题是右表的最后一行对于 fCase = 140 为 null。这是唯一高于 100 的值。
如果我在没有 WHERE 子句的情况下运行查询,它会显示左侧表中的所有行,但右侧的值仅在低于 101 时才会出现,否则显示为空。
有人可以帮助我,我做错了什么还是这是一个限制或错误?