慕仰1329654
在我看来,在尝试翻译它之前,考虑对SQL代码进行一些重写是有价值的。就个人而言,我会写一个像union这样的查询(虽然我完全避免使用null!):SELECT f.value
FROM period as p JOIN facts AS f ON p.id = f.periodid
WHERE p.companyid = 100
AND f.otherid = 17UNION
SELECT NULL AS value
FROM period as p
WHERE p.companyid = 100
AND NOT EXISTS (
SELECT *
FROM facts AS f
WHERE p.id = f.periodid
AND f.otherid = 17
);所以我想我同意@ MAbraham1答案的精神(尽管他们的代码似乎与这个问题无关)。但是,似乎查询明确地设计为生成包含重复行的单个列结果 - 实际上是重复的空值!很难不得出这种方法存在缺陷的结论。