On 2013-02-06, JORGE MALDONADO <jorgemal1960(at)gmail(dot)com> wrote:
> --f46d0401fb2fcb805e04d50354b1
> Content-Type: text/plain; charset=ISO-8859-1
>
> I have an UPDATE query with the following general structure:
>
> UPDATE table1 SET (SELECT field FROM table2 WHERE conditions ORDER BY
> order_field LIMIT 1)
assuming you mean this, and you are happy with its performance.
UPDATE table1 SET field1 = (SELECT field FROM table2 WHERE conditions ORDER BY
order_field LIMIT 1)
> Is it possible to assign a default value in case no results are returned by
> the SELECT statement?
use coalesce.
UPDATE table1 SET field1 = coalesce( (SELECT field FROM table2 WHERE conditions ORDER BY
order_field LIMIT 1) , default_value )
--
⚂⚃ 100% natural