如果记录的某个其他值为true,我想要一个使用两个值/列中较大值的查询.
我正在尝试获取报告帐户.不幸的是,DB通常将Cash的值存储在一个名为的列中HoldingQty,而对于其他每种类型的持有(股票,债券,共同基金),它将其存储在一个名为的列中Qty.
问题在于,有时候现金的价值Qty只存储在,而有时则存在于Qty和HoldingQty.显然有时候它只是HoldingQty如上所述存储.
基本上我希望我的选择陈述说"如果证券是现金,看看数量和持有数量,并给我更大的价值.否则,如果证券不是现金只是给我数量".
我如何在T-SQL中编写它?这是我的努力:
SELECT
h.account_name, h.security_name, h.security_type, h.price,
(CASE:
WHEN security_type = 'cash'
THEN (WHEN h.qty > h.holdingqty
THEN h.qty
ELSE h.holdingqty)
ELSE qty) as quantity,
h.total_value
FROM
holdings h
WHERE
...........
Run Code Online (Sandbox Code Playgroud)