SQL WHERE临时列

马里奥

我有这个MSSQL查询有效

SELECT c.CategoryName + ' (' + cast(count(ic.CategoryId) as varchar(255)) + ')' AS
 CategoryName, count(ic.CategoryId) AS NumPhotos,
  c.Slug, c.ParentCategoryId, c.Id
FROM Categories
 c LEFT JOIN
 ItemCategories ic
 on ic.CategoryId = c.Id
GROUP BY c.CategoryName, c.slug, c.ParentCategoryId, c.id
ORDER BY ParentCategoryId DESC

而且我只想返回WHERE NumPhotos> 0的行,但是SQL WHERE子句中不允许使用临时列

戈登·利诺夫

having子句是您问题的规范解决方案。但是,我怀疑aninner join也合适:

SELECT c.CategoryName + ' (' + cast(count(ic.CategoryId) as varchar(255)) + ')' AS CategoryName,
       count(ic.CategoryId) AS NumPhotos,
       c.Slug, c.ParentCategoryId, c.Id
FROM Categories c INNER JOIN
     ItemCategories ic
     on ic.CategoryId = c.Id
GROUP BY c.CategoryName, c.slug, c.ParentCategoryId, c.id
ORDER BY ParentCategoryId DESC;

没有样本数据,很难确定,但是我很确定这也可以做到。

an的优点inner join是它可能会更高效,因为将处理更少(可能只是略少)的数据,并且优化器有更多机会选择最佳join算法。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL按临时“ AS”列排序

来自分类Dev

SQL Server临时表中的列数

来自分类Dev

SQL Server:更改临时列值

来自分类Dev

SQL - 临时标识列不起作用

来自分类Dev

更新 SQL WHERE BOOKNO = 临时表中的书号

来自分类Dev

在SQL中将日期列添加到临时表

来自分类Dev

SQL Server中带有XML列的临时表

来自分类Dev

SQL CTE与临时表

来自分类Dev

SQL:创建临时变量

来自分类Dev

MS SQL临时表

来自分类Dev

在SQL中添加一个临时列,其中值取决于另一列

来自分类Dev

在SQL中添加一个临时列,其中值取决于另一列

来自分类Dev

SQL选择WHERE列不像多行

来自分类Dev

SQL:“ where子句”中的未知列

来自分类Dev

SQL错误未知列在where子句中?

来自分类Dev

SQL未知列在where子句中

来自分类Dev

sql where语句中的r列值

来自分类Dev

sql where 关闭与修改的列值

来自分类Dev

在SQL Server中拆分行和列并插入到临时表中?

来自分类Dev

SQL查询:每个列值都是基于临时表上不同过滤器的夸张

来自分类Dev

SQL 中两个临时列之间的百分比差异

来自分类Dev

SQL Server中的临时表

来自分类Dev

phpMyAdmin SQL-临时表

来自分类Dev

使用Transact sql的临时表

来自分类Dev

SQL Server 联合临时表

来自分类Dev

SQL 事务集临时值

来自分类Dev

SQL Server WHERE子句:列IS NULL或列=参数值

来自分类Dev

即使插入了列,“WHERE”子句中的 SQL 未知列

来自分类Dev

如何像 Pandas 中的值计数一样对 Microsoft SQL Server 中临时表中的所有列求和