Harald: Update und subselect

Hallo,

ich möchte gerne ein Update machen wie folgt:

update tabelle1 set feld1 = (select feld2 from tabelle2 limit 1)

Schon das geht nicht, geschweige, daß mein eigentliches Ziel funktioniert:

update tabelle1 set feld1 = (select t2.feld1 from tabelle2 as t2, tabelle1 as t1 where t1.feld2 = t2.feld2)

Da kommt eine Meldung, daß ein MySQL-Fehler vorliegt bzw. meine Version das nicht könnte....

Ich nutze MySQL 4.0.18-Max.

Kann mir da jemand einen Hinweis geben, wie ich ein Update mit einem select aus einer anderen Tabelle (und wichtig im 2. Schritt: Vergleich zwischen Werten) hinbekomme?

Danke!

Harry

  1. Hallo Harald,

    update tabelle1 set feld1 = (select feld2 from tabelle2 limit 1)
    [...]
    Ich nutze MySQL 4.0.18-Max.

    In MySQL funktionierten Subquerys erst ab Version 4.1: http://dev.mysql.com/doc/mysql/en/subqueries.html.

    Grüße aus Nürnberg
    Tobias

    1. Hi,

      update tabelle1 set feld1 = (select feld2 from tabelle2 limit 1)
      [...]
      Ich nutze MySQL 4.0.18-Max.
      In MySQL funktionierten Subquerys erst ab Version 4.1: http://dev.mysql.com/doc/mysql/en/subqueries.html.

      Aber die Max ist doch eine andere Entwicklungrichtung, oder?
      War mein Ansatz denn generell sonst richtig?

      Danke!

      Harry

      1. Hi,

        update tabelle1 set feld1 = (select feld2 from tabelle2 limit 1)
        [...]
        Ich nutze MySQL 4.0.18-Max.
        In MySQL funktionierten Subquerys erst ab Version 4.1: http://dev.mysql.com/doc/mysql/en/subqueries.html.

        ich habe es jetzt anders geschafft!
        Ich habe einfach eine neue leere Tabelle gemacht und dann sowas:

        insert into neue_tabelle select t1.bla,t2.blubb.... from tab1 as t1, tab2 as t2 where t1.blubb=t2.blabb

        ;-)

        Harry