gpt4 book ai didi

sql - 当一个值与其他值不同时,SQL Server

转载 作者:行者123 更新时间:2023-12-02 00:21:01 24 4
gpt4 key购买 nike

我有表 prices 的表结构:

CREATE TABLE prices
(
id int,
priceFrom int,
priceUp int
);

INSERT INTO prices (id, priceFrom, priceUp)
VALUES (1, 23, 23), (2, 0, 0), (3, 12, 13),
(4, 40, 40), (5, 15, 15), (6, 0, 0);

这是结果:

enter image description here

我有这个查询:

select 
pricefrom, priceup,
case
when pricefrom = 0 then null
when priceFrom <> priceUp then priceFrom + ' - ' + priceUp
when priceFrom = priceUp then priceFrom
end as FinalPrice
from
prices

我需要的是做一个案例

  1. pricefrom = 0 然后显示 null
  2. pricefrom=priceup 然后显示价格
  3. 至少如果pricefrom!=priceup我想显示例如:12(pricefrom) - 13(priceup)

但在我的这一行查询中:

enter image description here

我尝试使用<>来做到这一点但结果中显示两个数字的总和:

enter image description here

我该如何解决这个问题?

最佳答案

我认为您正在寻找concat函数。

 select pricefrom, priceup,
case
when pricefrom = 0 then null
when priceFrom <> priceUp then concat(priceFrom, ' - ', priceUp)
when priceFrom = priceUp then cast(priceFrom as varchar(8))
end as FinalPrice
from prices

此链接可能会有帮助

MySQL combine two columns into one column

关于sql - 当一个值与其他值不同时,SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37809000/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com