2016-04-12 15 views
1

Im Versuch, ein Datenbankmigrations-SQL-Skript zu machen, um Daten von einer Datenbank in eine andere zu übertragen, hat die alte Datenbank etwa 10-15 Tabellen, die neue über 300 hat. Jetzt, wo ich versuche, eine große Migration zu machen, weiß ich, wohin alles gehen muss, ich kann einfach nicht herausfinden, wie man basierend auf den Ergebnissen überträgt.SQL Führen Sie eine Abfrage aus und führen Sie eine weitere basierend auf den Ergebnissen aus

Heres, was ive bekam im Moment:

SELECT i.item_name AS `item_name` , i.item_rrp AS `item_rrp` , i.item_web_price AS `item_price` , p.product_image AS `product_image` FROM `table1`.`items` JOIN(
`table1`.`items` i , 
`table1`.`products` p 
) WHERE `item_discontinued` = 0 

nun mit den Ergebnissen aus dieser will ich einen Einsatz tun, ich weiß, wie der Einsatz zu tun, aber wie kann ich Schleife über die Ergebnisse der ersten Abfrage, ich PHP verwenden kann, aber es ist preferrable für die Geschwindigkeit, die ich vollständig nutzen SQL

Antwort

1

Keine Notwendigkeit für eine Schleife, verwende INSERT AS SELECT:

INSERT INTO <YourTable> (<column names .......>) 
SELECT i.item_name AS `item_name` , i.item_rrp AS `item_rrp` , i.item_web_price AS `item_price` , p.product_image AS `product_image` 
FROM `table1`.`items` JOIN(
`table1`.`items` i , 
`table1`.`products` p 
) WHERE `item_discontinued` = 0 
+0

Il diesen einen Versuch geben, wird dies ein sehr großer SQL-Skript sein es s für Magento, da ihre APIs nicht sehr langsam für Massenprodukt-Conversions sind – Hudson

+0

Das hat funktioniert, vielen Dank nochmal ... – Hudson

Verwandte Themen