查询中的“ Invalid Column Name”错误,按case语句和外部select进行排序

数码单反相机

我正在尝试使用case语句确定外部select语句中的列的顺序来确定要排序的字段。由于某些原因,我无法使用在外部选择中创建的列。如果我尝试不使用case语句按该列排序,那么它将起作用。我究竟做错了什么?

伪代码来说明问题:

DECLARE @orderBy varchar(8)
SET @orderBy = 'rating'

SELECT
    CASE
        WHEN rating is not null THEN 1
        ELSE  0
    END as hasRating,
    *
FROM

(SELECT col1, ...) AS table1

LEFT OUTER JOIN

(SELECT col1, rating, ...) AS table2

ON table1.col1 = table2.col2

--causes error "Invalid column name 'hasRating'"
ORDER BY 
    CASE WHEN @orderBy = 'rating' THEN hasRating END DESC,
    CASE WHEN @orderby = 'something else' THEN ...

--works
ORDER BY hasRating desc
哈特公司

这会引发错误:

ORDER BY 
    CASE WHEN @orderBy = 'rating' THEN CASE WHEN rating is not null THEN 1 ELSE  0 END END DESC,
    CASE WHEN @orderby = 'something else' THEN ...

好像CASEORDER别名可用之前进行评估。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Entity Framework Invalid Column

来自分类Dev

在一个查询中获得COLUMN_NAME和TABLESPACE_NAME

来自分类Dev

sql中的select查询中的case语句

来自分类Dev

在JQWidgets中按“ column_order”对网格列进行排序

来自分类Dev

按子句分组和排序中的SQL查询错误

来自分类Dev

SELECT子查询中的IF / CASE语句

来自分类Dev

在单个查询中按分组和排序

来自分类Dev

在 Elasticsearch 中按查询删除和排序

来自分类Dev

什么是SQL Server中的Oracle查询SET UNUSED(Column_name)的等效项

来自分类Dev

SQL:如何使用信息架构中的Table_Name和Pivoted Column_Name构建选择查询

来自分类Dev

子查询中的CASE语句

来自分类Dev

在SELECT中的IF语句SQL查询

来自分类Dev

在MySQL查询中的select语句中进行CASE检查到期

来自分类Dev

WHERE中的SQL查询中的CASE语句

来自分类Dev

mysql查询中的if语句

来自分类Dev

SQL查询中的THEN语句

来自分类Dev

PeopleSoft 查询中的 if then 语句

来自分类Dev

查询中的 IF 语句

来自分类Dev

在SQLite中按选择参数的顺序对查询结果进行排序

来自分类Dev

在SQL查询中按年份进行二级排序

来自分类Dev

在cakephp 3中按嵌套关联对查询结果进行排序

来自分类Dev

在SQL查询中按年份进行二级排序

来自分类Dev

在 Elstic 搜索中按字段长度对查询进行排序

来自分类Dev

用“ column”按字母顺序对python中的列表列表进行排序

来自分类Dev

用“ column”按字母顺序对python中的列表列表进行排序

来自分类Dev

查询Shoretel报表中的多个SELECT CASE语句

来自分类Dev

创建子查询时select中的case语句

来自分类Dev

cassandra中的SELECT查询

来自分类Dev

MySQL查询中的错误

Related 相关文章

热门标签

归档