SQL UPDATE Sequenz über drei Tabellen

  • SQL UPDATE Sequenz über drei Tabellen:


    Muss das Feld "file_title" in virtuemart_medias mit dem Inhalt des Feldes "product_sku" in virtuemart_products füllen. Mit der folgenden SQL Sequenz komme ich immer auf Fehler:
    Wer kann mir da helfen?


    UPDATE gwai_virtuemart_medias
    SET gwai_virtuemart_medias.file-title = gwai_virtuemart_products.product_sku
    FROM gwai_virtuemart_medias
    INNER JOIN gwai_virtuemart_product_medias ON gwai_virtuemart_medias.virtuemart_media_id = gwai_virtuemart_product_medias.virtuemart_media_id
    INNER JOIN gwai_virtuemart_products ON gwai_virtuemart_product_medias.virtuemart_product_ id = gwai_virtuemart_products.virtuemart_product_id


    Ergibt folgenden Fehler:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-title = gwai_virtuemart_products.product_sku FROM gwai_virtuemart_medias INNE' at line 2

  • Ich habe die Lösung gefunden - der SET muss nach den INNER JOINs sein (MY SQL):


    UPDATE `gwai_virtuemart_medias` t1


    INNER JOIN `gwai_virtuemart_product_medias` t3
    ON t1.`virtuemart_media_id` = t3.`virtuemart_media_id`
    INNER JOIN `gwai_virtuemart_products` t2
    ON t3.`virtuemart_product_id` = t2.`virtuemart_product_id`



    SET t1.`file_title` = t2.`product_sku`


    Erledigt - läuft!