Estoy usando una base de datos PostgreSQL, y en una tabla que representa algunas mediciones, tengo dos columnas: medición, e interpolada. En el primero tengo la observación (medida), y en el segundo el valor interpolado dependiendo de los valores cercanos. Cada registro con un valor original también tiene un valor interpolado. Sin embargo, hay muchos registros sin observaciones "originales" (NULL), por lo tanto, los valores se interpolan y almacenan en la segunda columna. Así que, básicamente, sólo hay dos casos en la base de datos:SQL Seleccione entre dos campos dependiendo del valor de un campo
Value Value
NULL Value
Por supuesto, es preferible utilizar el valor de la primera columna, si está disponible, de ahí que necesito para construir una consulta para seleccionar los datos de la primera columna y, si no está disponible (NULO), la base de datos devuelve el valor de la segunda columna para el registro en cuestión. No tengo idea de cómo construir la consulta SQL.
Por favor ayuda. Gracias.
¿y si quieres un tercer valor si el primer valor es nulo? – Joe
¿Te refieres a 'COALESCE (first_value, second_value, third_value)'? Esto devolvería 'third_value' si tanto el primer como el segundo valor son' NULL'. –
gracias, pero quiero el tercer valor solo si el primer valor es nulo. Me di cuenta de que quería obtener lo que quería. Hice una UNIÓN de 2 selecciones. Primero seleccione todos los registros donde firstvalue no sea nulo, el segundo seleccione donde el primer valor sea nulo y haga esto v.Name como FirstName, CONVERT (varchar (10), h.ID, 108) como LastName, – Joe