sql 2 tabellen verbinden

forsti222

Mitglied
Ich habe eine sehr interessante Frage bezüglich den verbinden von 2 Tabellen und zwar sieht die Struktur der Tabellen so aus
Tabelle 1: {nr,name,typ,std}
Tabelle 2:{nr,name,typ,std,sum,count}

Mein Problem sieht nun so aus das in der Tabelle 2 nicht alle drin sind. Ich möchte also mit einem Query erreichen das die restlichen aus Tabelle 1 hinten dran gefügt werden und für sum und count einfach 0 eingetragen wird?
Wie ist das möglich?
dankeschön
 
Ich weiß nicht ob das klappt. Aber du könntest mal soetwas in der Art probieren:
SQL:
INSERT INTO `tabelle2` AS t2 (nr, name, typ, std)
  SELECT nr, name, typ, std FROM `tabelle1` AS t1 WHERE
    t1.nr != t2.nr
Ist ungetestet.
Setze für sum und count in der zweiten Tabelle den Standardwert einfach auf 0.
 
INSERT INTO.....SELECT mit einem normalen LEFT JOIN
SQL:
INSERT INTO `Tabelle 2` (nr, name, typ, std, `sum`, `count`)
SELECT
	t1.nr,
	t1.name,
	t1.typ,
	t1.std.
	0 AS `sum`,
	0 AS `count`
FROM
	`Tabelle 1` AS t1
	LEFT JOIN `Tabelle 2` AS t2
		ON t1.nr = t2.nr
WHERE
	t2.nr IS NULL

Die Lösung von timestamp dürfte meiner Meinung nach nicht funktionierten, da die 2 Tabellen unsauber miteinander verglichen werden
T1 hat die IDS (1,2,3,4)
T2 hat die IDS(2,3)
Dann bekommst du die kombinationen T1/T2(1/2, 1/3, 2/3, 3/2, 4/2, 4/3)
Diese werden alle eingefügt.
 
Zuletzt bearbeitet von einem Moderator:
Zurück