【发布时间】:2011-11-06 01:25:09
【问题描述】:
我有四张桌子。我称他们为 A-D。
SELECT A.ID, B.FirstName, B.LastName, C.Desc, A.Qty, A.Price, D.State,
A.Qty * A.Price AS "Total Price",
CASE D.State
when 'CA' then '***'
when 'MD' then '***'
when 'IL' then '***'
Else D.State
END
FROM A, B, C, D;
上面的 SELECT 语句显示所有数据,当状态为 CA、MD 或 IL 时,它会列出一个名为 CASE 的新列并显示三个星号。
我需要得到它,以便每当 D.State 是 CA、MD 或 IL 时,A.Qty、A.Price 和总价格计算都用三个星号填充,以隐藏数据和不会创建额外的 CASE 列。如果行在 D.State 中没有 CA、MD 或 IL,则整个行需要正常显示,不带星号。我已经尝试了几个循环,但我似乎无法做到这一点。如果有人有任何想法,我将不胜感激。
【问题讨论】: