根据需要进行选择的常用方法是什么?

时间:2014-04-29 07:53:17

标签: sql database relational-database

我希望能够在一个表中添加列,其中的值是在'querytime'处根据需要计算值时(可能)选择它们。

是否有一些既定方法可以做到这一点?

编辑:好的,我可以不用'添加列'。我想要的是做一个选择查询,搜索一些(如果它们存在)行所有需要的值计算(一些函数),并填写一些没有计算所有需要值的行。因此,每个查询都会在扩展数据方面发挥作用。 (有些列会以空值或类似值开头)

我想我会首先执行扩展部分,然后执行

之后的查询

3 个答案:

答案 0 :(得分:0)

您使用select表达式,特别是如果您不打算存储计算结果,或者它们依赖于多个表。一个例子,尽可能简单:

SELECT id, (id+1) as next_id FROM table;

答案 1 :(得分:0)

您要求什么类型的数据库?如果是SQL Server,则可以使用AS语法来使用计算列。 例如:

create table Test
(
Id int identity(1,1),
col1 varchar(2) default 'NO',
col2 as col1 + ' - Why?'
)
go

insert into Test
default values
go

select * from Test

drop table Test

答案 2 :(得分:0)

在SQL世界中,将列添加到现有表通常很昂贵,所以我建议不要这样做。也许你可以管理this

之类的东西
SELECT OrderID, 
       ProductID, 
       UnitPrice*Quantity AS "Regular Price", 
       UnitPrice*Quantity-UnitPrice*Quantity*Discount AS "Price After Discount"
FROM order_details;

如果你真的坚持要添加一个新列,你可以选择(未测试):

ALTER TABLE order_details ADD column_name datatype
UPDATE order_details SET column_name = UnitPrice+1

您基本上ALTER TABLE添加新列,然后对所有表执行UPDATE操作以设置新添加列的值。