簡體   English   中英

第2條:不同的限制

[英]WHERE Clause 2 Different Restrictions

我有一個數據表,我想制作一個WHERE子句,該子句有2個不同的限制適用於同一變量。 我無法找到一種方法來應用它。

這是我當前的表格(減去摘要欄是我的目標)

 ID    Location    Price     PriceDescription     SummedCost     Summary
 1     Park        -10       Cost.Water           -18            -7
 1     Park        -8        Cost.Gas
 1     Park        11        Sold.Price
 2     Tom         20        Sold.Price           -6             14
 2     Tom         -6        Cost.Soap
 3     Matt        -15       Cost.Tools           -30            -9
 3     Matt        -15       Cost.Gas
 3     Matt        21        Sold.Price
 4     College     32        Sold.Price           -22            21
 4     College     -22       Cost.Water
 4     College     11        Sold.LateFee

我的代碼是

SELECT ID 
    ,Location
    ,Price
    ,PriceDescription
    ,SUM(Price) over(Partition by Location) AS SummedCost
FROM 
    table
WHERE 
    PriceDescription LIKE 'Cost.%'

這就是我遇到問題的地方。 我想使用匯總列來匯總所有價格,但是我不知道如何編寫WHERE語句,該語句對SummedCost列使用PriceDescription LIKE'Cost。%',而對於PriceDescription LIKE'%。%'摘要列。

這可能嗎? 我試圖將WHERE PriceDescription LIKE '%.%'SUM(Price) over(Partition by Location) AS SummedCost但出現了有關“ as”的錯誤。

謝謝你的幫助!

刪除WHERE子句,並在SUM()使用CASE表達式:

SELECT ID 
       ,Location
       ,Price
       ,PriceDescription
       ,SUM(Case When PriceDescription Like 'Cost.%' 
                 Then Price 
                 Else 0 
            End) Over(Partition by Location) AS SummedCost
       ,SUM(Price) Over(Partition by Location) As Summary
FROM table

您可以在以下情況下使用案例:

,SUM(case when PriceDescription like 'Cost.%' then Price else 0 end) over(Partition by Location) AS SummedCost

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM