我有一个旧表,其中包含“主”记录和相关的详细记录。详细记录由“-nnn”主密钥的添加标识。我需要找到没有明细记录的主记录,尝试了几种变体,最后将其分解为最简单的元素。
这有效:
select (select count(*) from dbo.client as cl2
where cl2.acct_no like (cl1.acct_no + '-%')) as countx, acct_no
from dbo.client as cl1
并显示预期的零或非零结果,具体取决于有多少详细记录。
但是,当我尝试使用计数结果仅选择具有零详细记录的记录时,如下所示:
select (select count(*) from dbo.client as cl2
where cl2.acct_no like (cl1.acct_no + '-%')) as countx, acct_no
from dbo.client as cl1
where countx = 0
我收到一个错误:“列名 'countx' 无效”
我在这里想念什么?