2009-07-07 12 views
0

Hallo Freunde lassen Sie mich den Weg zu dem Problem wie folgt wissen ....... Ich versuche, eine Tabelle in eine andere Tabelle als Spaltenwert einzufügen .... sagen wir Table1 enthält 2 Spalten und Tabelle2 enthält 3 Spalten jetzt muss ich die Tabelle1 in die Tabelle2 als Wert von 3 Spalte einfügen, so dass in dieser Spalte Tabelle1 vorhanden sein sollte. Dies ist insbesondere in Bezug auf nur MySQL. Bitte schlagen Sie mir einschließlich der Datentypen der Spalten und wie können wir die Daten, die in der dritten Spalte gespeichert sind, abrufen.Einfügung in Mysql

+0

Es wäre eine gute Idee, einige Beispieldaten zu zeigen, um zu veranschaulichen, was Sie meinen –

Antwort

1

Können Sie bitte etwas erklären? (Geben Beispiel)

Meine Vermutung jetzt:

INSERT INTO table2 (id1, value1, more_value) 
    SELECT id1, value1, NULL FROM table1 
0

Wenn Sie eine Abfrage schreiben, die wählt, was Sie von table1 möchten, können Sie INSERT...SELECT verwenden in table2 einzufügen.

Zum Beispiel

INSERT INTO table2(col3) 
SELECT CONCAT(col1,col2) as table1val FROM table1 
0

Sie können nicht eine ganze Tabelle als Spaltenwert ein.

Wenn Sie die gesamte Tabelle1 in einer Spalte referenzieren müssen, müssen Sie eine Art "Gruppen-ID" zu Tabelle 1 hinzufügen, dann fügen Sie diese in Tabelle 2 ein und machen einen JOIN bei SELECT.

Zum Beispiel, wenn Sie wollen die nachstehende Tabelle ein Wert in der Tabelle sein 2:

original table1: 
col1, col2 
============== 
"val1", "val5" 
"val2", "val6" 
"val3", "val7" 
"val4", "val8" 

new table1: 
col1, col2, group_id 
======================== 
"val1", "val5", 1 
"val2", "val6", 1 
"val3", "val7", 1 
"val4", "val8", 1 

Dann in table2 Sie

table2: 
col1, col2, group_id 
==================== 
"x", "y", 1 

Und zu bekommen, dass wieder Sie etwas tun würden entlang hätten die Linien von:

SELECT 
    table2.col1 
    , table2.col2 
    , table1.col1 
    , table1.col2 
FROM 
    table2 
    INNER JOIN 
    table1 
    ON (table2.group_id = table1_group_id) 

Und das würde Ihnen:

table2.col1, table2.col2, table1.col1, table1.col2 
================================================== 
"x",   "y",   "val1",  "val5" 
"x",   "y",   "val2",  "val6" 
"x",   "y",   "val3",  "val7" 
"x",   "y",   "val4",  "val8" 
Verwandte Themen