提问者:小点点

需要更改SQL qeury以获得临时结果


我只需要一个查询的临时结果。如果substring condition为true,我希望将其car_performance值降低%10(car_performance=car_performance*0.9;)并将此子字符串true cars与其他子字符串进行比较,但仅针对查询,我不想更改SQL数据库中的真实数据。

所以我想我需要将这个数据放到一个新的临时表中,这个表的car_performance值降低了,但是我不知道如何编写它。

如果SUBSTRING(car_model,9,1)=“3”,则选择*FROM car_listcar_performance=car_performance*0.9;按性能订购???


共2个答案

匿名用户

我不确定我是否正确理解你。如果我错了就纠正我。是否要选择所有尊重conditionsubstring(car_model,9,1)=3的汽车,并打印它们的性能,如0.9*performance?如果是这样,可以使用以下语句:

SELECT car_model, car_performance*0.9 as car_performance
FROM car_list
WHERE SUBSTRING(car_model, 9, 1) = '3'

我还推荐您选修一门SQL课程。在你学习了基础知识之后,理解起来会更容易、更快。网上有很多很棒的免费资源。

匿名用户

我想你需要对整套汽车进行比较,这取决于其中一些汽车的状况,其余的则保持原样。如果是,则大小写当...然后...ELSE...条件语句将执行以下操作

SELECT CASE WHEN SUBSTRING(car_model, 9, 1) = '3' 
            THEN car_performance * .9 
            ELSE car_performance 
             END AS car_performance
  FROM car_list 
ORDER BY car_performance