【问题标题】:SQL Error when using Order By for SQL database query in PowerBI Desktop在 PowerBI Desktop 中对 SQL 数据库查询使用 Order By 时出现 SQL 错误
【发布时间】:2022-01-05 13:36:38
【问题描述】:

使用 Get Data with PowerBI Desktop 连接 SQL 数据库时出现此错误

Microsoft SQL:ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,除非还指定了 TOP、OFFSET 或 FOR XML。

SELECT PromotionID, PromoDescription, PromoStartDate, 
    CASE
        WHEN PromoDescription LIKE '%QUINELLA%' OR
             PromoDescription LIKE '%EXACTA%' OR
             PromoDescription LIKE '%TRIFECTA%' OR
             PromoDescription LIKE '%FIRST FOUR%' THEN 1
        ELSE 0
    END [Priority]
FROM TBS.dbo.Promotion WITH (NOLOCK) 
WHERE ArchivePartition IN (0,1)
  AND PromoDescription NOT LIKE '%QUINELLA%' 
  AND PromoDescription NOT LIKE '%EXACTA%' 
  AND PromoDescription NOT LIKE '%TRIFECTA%' 
  AND PromoDescription NOT LIKE '%FIRST FOUR%'

--AND PromoEndDate > getdate()-90
ORDER BY Priority ASC, PromoStartDate DESC'''

我看到我可以将顶部更改为顶部 XXXXX,例如,

SELECT Top 1000 PromotionID, PromoDescription, PromoStartDate

但我不想这样做?

【问题讨论】:

  • 此代码是否来自视图定义?
  • 如果它是一个视图,我认为他在尝试编译视图时会看到问题。我认为这是 CTE。

标签: sql sql-server database powerbi


【解决方案1】:

也许这可以给你想要的结果

ORDER BY Priority ASC, PromoStartDate DESC OFFSET 0 ROWS

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 2023-04-02
    • 2010-11-02
    • 2010-09-17
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多