我的查询:
select SeqNo, Name, Qty, Price
from vendor
where seqNo = 1;
输出如下:
SeqNo Name Qty Price
1 ABC 10 11
1 -do- 11 12
1 ditto 13 14
上面的输出在第一行显示供应商名称为ABC,这是正确的。稍后,当用户输入与"ABC"
/ '-do-'
相同的供应商名称'ditto'
时。现在在我的最终查询输出中,我想用-do-
替换ditto
和ABC
(如上例所示),所以我的最终输出应如下所示:
SeqNo Name Qty Price
1 ABC 10 11
1 ABC 11 12
1 ABC 13 14
答案 0 :(得分:2)
这是在sql server中为您提供示例数据..不确定您的其他行是什么样的
select SeqNo,
case when Name in ('-do-','ditto') then
(select Name from test where Name not in('-do-','ditto')
and SeqNo = 1)
else Name
end as Name
from table
where SeqNo = 1
答案 1 :(得分:0)
使用REPLACE
功能
SELECT SeqNo, REPLACE(REPLACE(Name,'ditto','ABC'),'-do-','ABC'), Qty, Price
FROM vendor
WHERE seqNo = 1;
答案 2 :(得分:0)
使用CASE
:
select SeqNo,
case when Name in ('-do-','ditto') then 'ABC' else Name end as name,
Qty,
Price
from vendor
where seqNo = 1;
答案 3 :(得分:0)
除了其他答案之外,如果您的要求仅包含您发布的样本数据,=)这样做:
SELECT SeqNo, 'ABC' Name, Qty, Price
FROM vendor
WHERE seqNo = 1;