有人请看一下吗?我试图总结我们所有skus的总重量,但我需要他们分组国外或国内。 SQL 2008服务器。
Select
IMSYS01.on_hand_qty * IMSYS01.piece_weight,
IMSYS01.sku_no,
case when(imsys01.warehouse = '109') then 'foreign' else 'domestic' end as 'vLocation'
From
IMSYS01 IMSYS01
Where
(IMSYS01.sku_no < '99999' And
IMSYS01.velo_code <> 'X')
Group By
IMSYS01.on_hand_qty * IMSYS01.piece_weight, 'vLocation', IMSYS01.sku_no
答案 0 :(得分:0)
哦,可怕的单引号用于标识符。不要使用单引号作为标识符。这就是你想要的:
Select IMSYS01.on_hand_qty * IMSYS01.piece_weight,
IMSYS01.sku_no,
(case when(imsys01.warehouse = '109') then 'foreign' else 'domestic' end) as vLocation
From IMSYS01 IMSYS01
Where (IMSYS01.sku_no < '99999' And IMSYS01.velo_code <> 'X')
Group By IMSYS01.on_hand_qty * IMSYS01.piece_weight,
(case when(imsys01.warehouse = '109') then 'foreign' else 'domestic' end),
IMSYS01.sku_no;
这是一个很好的例子,说明为什么永远不会使用单引号作为标识符。这会造成混乱。 SQL Server支持其他方法,但您甚至不需要转义vlocation
。它本身就是一个很好的标识符。