Insert into Select ?
heinetz
- datenbank
1 Jan Feddersen0 heinetz
Hallo Forum,
Meine DB-Tabelle sieht zur Zeit so aus:
Tabelle 'news':
news_id | level_1 | level_2 | level_3
-------------------------------------
1 | 1 | 0 | 0
2 | 0 | 1 | 0
3 | 1 | 1 | 0
4 | 1 | 0 | 1
Das ganze möchte ich gerne normalisieren:
Tabelle 'news_level':
news_id | level_id
------------------
1 | 1
2 | 2
3 | 1
3 | 2
4 | 1
4 | 3
... und die Werte aus der tabelle 'news'
in die neue Tabelle 'news_level' schreiben.
Das müsste mit einem SQL-Statement gehen,
oder ?
Ich habe bei mysql.com folgendes Beispiel
für 'INSERT ... SELECT' gefunden:
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
Sollte sich das auf mein Vorhaben anwenden lassen ?
danke für Tipps und
beste gruesse,
heinetz
Es ist spät...
aber ich versuche es mir mal aus dem kopf zu saugen
anhand deines beispieles
INSERT INTO news_level(news_id,level_id)
SELECT news_id,'1' FROM news WHERE news.level_1=1
INSERT INTO news_level(news_id,level_id)
SELECT news_id,'2' FROM news WHERE news.level_2=1
INSERT INTO news_level(news_id,level_id)
SELECT news_id,'3' FROM news WHERE news.level_3=1
usw.
sollte so klappen .....
--------------
IT & PR - Fenebris.com
janfeddersen _at_ dunkelnetz _dot_ de
Kredite, Umschuldung, Finanzen
hi,
perfekt, genauso geht's. vielen dank!
beste gruesse,
heinetz