"Ernany" <[EMAIL PROTECTED]> wrote in
message news:[EMAIL PROTECTED]
> Is it possible to simplify the code? I have ten fields to UPDATE.
> (STATUS, Responsavel, Country,......)
>
> UPDATE Bens SET *STATUS *=
>  CASE (SELECT COUNT(BENSBK.STATUS) FROM BENSBK WHERE BENSBK.BEM =
> Bens.BEM)
>  WHEN 0 THEN Bens.STATUS
>  ELSE (SELECT BENSBK.STATUS FROM BENSBK WHERE BENSBK.BEM = Bens.BEM)
>  END
[similar statements snipped]

Try this:

update Bens
  set STATUS=coalesce(
    (SELECT BENSBK.STATUS FROM BENSBK WHERE BENSBK.BEM = Bens.BEM),
    STATUS),
  set Responsavel=coalesce(
    (SELECT BENSBK.Responsavel FROM BENSBK WHERE BENSBK.BEM = Bens.BEM),
    Responsavel),
  set Country=coalesce(
    (SELECT BENSBK.Country FROM BENSBK WHERE BENSBK.BEM = Bens.BEM),
    Country);

Igor Tandetnik 



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to