簡體   English   中英

SQL-基於計算字段的計算字段?

[英]SQL - Calculated field base on calculated field?

嗨,我有兩列將A&B連接起來,這樣做是為了找出客戶ID。 然后,我需要在該計算字段上做一個case語句。 可以一次性完成嗎?

Column A
Column B
Column C = Column A & Column B
Column D = Case When (column C) = 001-002 then XXXX

D列不起作用。 問題是,如果C列是一個計算字段,那么我可以在單個查詢中從C列計算得出D列嗎?

謝謝

您應該采用這種方式...因為計算列不會幫助進一步計算

Column A
Column B
Column C = Column A & Column B
Column D = Case When (Column A & Column B) = 001-002 then XXXX

我認為,您使用的邏輯應該起作用,我看到的問題可能在“ 001-002”中。 您是否正在將D列與從001到002減去的值進行比較? 如果不是,則應將其用單引號引起來。

而且,根據您用T-SQL編寫的邏輯,您不需要計算列C。因此,解決方案可能是:

Column A
Column B
--Column C = Column A & Column B --commented out
Column D = Case When (Column A+Column B) = '001-002' then XXXX END

您還可以在CASE表達式內使用ELSE條件。 另外,我假設列A和列B具有String數據類型(即CHAR / VARCHAR / NVARCHAR)。

暫無
暫無

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

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