我正在使用PostgreSQL数据库,并且在代表某些度量的表中,我有两列:测量值和插值值。在第一次我观察(测量),第二次插值取决于附近的值。每个具有原始值的记录都有一个插值。但是,有很多没有“原始”观察(NULL)的记录,因此这些值被内插并存储在第二列中。所以基本上只有两个病例在数据库:SQL根据一个字段的值在两个字段之间进行选择
Value Value
NULL Value
当然,最好是从第一列中使用的值,如果可用,因此我需要建立一个查询,以便从第一列选择数据,如果不可用(NULL),则数据库返回有问题记录的第二列中的值。我不知道如何构建SQL查询。
请帮忙。谢谢。
如果你想要第三个值如果第一个值为空怎么办? – Joe 2016-11-18 15:31:20
你的意思是像'COALESCE(first_value,second_value,third_value)'?如果第一个和第二个值都是NULL,这将返回'third_value'。 – 2016-11-18 15:32:43
谢谢,但我想第三个值只有当第一个值为空。我想出了我想要的,我做了2次选择的联合。首先select获取firstvalue为非null的所有记录,第二个select的where第一个值为null,并将此v.Name作为FirstName,CONVERT(varchar(10),h.ID,108)作为LastName, – Joe 2016-11-19 11:58:06