mysql join insert

Denormalizasyon yaptığım bir tablodaki longtext veri alanı olan sütunu ayrı bir tablo halinde sunmak istiyorum. Bu noktada, eski verilerin yeni yerine bir patch işlemi yapmadan taşımasını düşünmek adına, INSERT işlemini JOIN yaparak yapmak geldi aklıma. Bu konuda araştırdığıma göre;

Mysql de update, select ve delete query’lerinde yapılabilen JOIN ederek işlem yapma olayı , INSERT komutu ile çalışmamakta.

Yani sonuçta join edecek verisi yok ki içinde, ona göre işlem yapsın.

Bu noktada çözümü farklı bir yoldan bulmamız gerekti. ilk önce ilgili veri alanlarını select edip, yeni tablomuza  insert etmemiz gerekiyordu. Yaptık.

ÇÖZÜM

Yine mysql tarfında olayı çözebildik.
INSERT INTO tableNew (col1, col2)
SELECT tbl1.col1, tbl2.col2
FROM tbl1 LEFT OUTER JOIN tbl2 ON (tableNew.someColumn = tbl1.someColumn)

tabi on duplucate key kontrolü de isteğe göre yapılabilir.