SQL Server 2008-为什么我不能在select count(*)中对查询使用WHERE

考拉

我有这个查询,它应该做的:

Select 
    WB.BinNumber, WB.ID, 
    (select count(*) 
     from WMS_LocationBalance 
     where BinID = WB.ID) AS BinCount 
from 
    WMS_WarehouseBin WB
ORDER BY 
    BinCount

但是添加WHERE BinCount = 0查询时不会运行,因为这BinCount是无效的列名。

为什么可以,order by BinCount但我不能在其中使用WHERE

另外我该如何解决呢?

Select 
    WB.BinNumber, 
    WB.ID, 
    (select count(*) 
     from Location 
     where BinID = WB.ID) AS BinCount 
from 
    WarehouseBin WB
WHERE 
    BinCount = 0
ORDER BY 
    BinCount
普雷迪普

试试这个。您不能使用Alias namein,Where clause因为它WHERE clause是在之前处理的SELECT clause(*),因此别名不可derived table用,请在where子句中使用a然后使用别名

SELECT *
FROM   (SELECT WB.BinNumber,
               WB.ID,
               (SELECT Count(*)
                FROM   Location
                WHERE  BinID = WB.ID) AS BinCount
        FROM   WarehouseBin WB) A
WHERE  A.BinCount = 0
ORDER  BY a.BinCount 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能在SQL Server的CASE语句列上使用filter我的WHERE子句?

来自分类Dev

为什么我不能在Windows Server 2008中使用system()从服务启动批处理文件?

来自分类Dev

SQL Server 2008-SELECT查询

来自分类Dev

为什么我不能在 SQL Server 中为 dll 生成非对称密钥?

来自分类Dev

什么是 SQL Server 2008 中的平台()

来自分类Dev

SQL SERVER 2008 Select语句

来自分类Dev

SQL SERVER 2008 Select语句

来自分类Dev

SQL Server 2008中的减法

来自分类Dev

SQL Server 2008中的递归

来自分类Dev

在SQL Server 2008中订购

来自分类Dev

SQL Server 2008中的递归查询

来自分类Dev

使用SQL Server 2008加快查询速度

来自分类Dev

使用查询在SQL Server 2008中插入5000条记录

来自分类Dev

“ T(C)”是什么意思?当我在sql server 2008中查询xml时

来自分类Dev

是否在Select Statements SQL Server 2008中循环?

来自分类Dev

我想在SQL Server 2008中合并两行

来自分类Dev

在SQL Server 2008中声明varbinary的正确方法是什么?

来自分类Dev

SQL Server 2008中的SQL FIFO逻辑

来自分类Dev

SQL Server 2008中的SQL FIFO逻辑

来自分类Dev

在SQL Server 2008中无法使用Float

来自分类Dev

SELECT查询中的默认行顺序-SQL Server 2008与SQL 2012

来自分类Dev

为什么不能在SQL Server上查询OFFSET / FETCH查询?

来自分类Dev

加快SQL Server 2008插入查询的速度

来自分类Dev

SQL Server 2008选择查询难度

来自分类Dev

更改SQL Server 2008的表查询计划

来自分类Dev

回滚Sql Server 2008查询

来自分类Dev

SQL Server 2008查询无法正确执行

来自分类Dev

SQL Server 2008查询-表联接

来自分类Dev

SQL Server 2008修改的WHERE语句