FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Simple SQL Aufgabe

Simple SQL Aufgabe 2006-09-24 17:54
steve
Ich benötige ein SQL-Befehl für folgende Problemstellung:

Ich habe 3 Tabellen mit fast identischen Spaltenbezeichnungen.

Tabelle1 -> Spalten: Standort, Name, Wert
Tabelle2 -> Spalten: Benutzer, Name, Wert
Tabelle3 -> Spalten: Name, Wert

Und ich habe eine Tabelle mit folgenden Spalten:

Tabelle4 -> Spalten: Benutzer, Standort, Name, Wert

Und es gibt Referenzinformationen in Form eine Liste:

Name:

Alpha
Beta
Gamma


Nun will ich, dass die Informationen aus den 3 Tabellen, wo in der Spalte
"Name" mit den Referenzinfos passen, die Werte in Tabelle 4 kopiert werden.
Ich brauch also dann in Tabelle 4 eine Liste mit Werten aus Tabelle 1-3 die
mit den Referenzinfos übereinstimmen.

Kann mir da jmd helfen?

Re: Simple SQL Aufgabe 2006-09-24 18:54
steve
SOWAS?

INSERT INTO tabelle4(Benutzer, Standort, Name, Wert)

SELECT NULL, Standort, Name, Wert FROM tabelle1 WHERE Name='Alpha' | Name='Beta' | Name='Gamma'
SELECT Benutzer, NULL, Name, Wert FROM tabelle2 WHERE Name='Alpha' | Name='Beta' | Name='Gamma'
SELECT NULL, NULL, Name, Wert FROM tabelle3 WHERE Name='Alpha' | Name='Beta' | Name='Gamma'

Re: Simple SQL Aufgabe 2006-09-24 22:14
tilo
Sinn der Sache ist es, die Redundanz deiner Datenbank zu verringern, ja? Sprich Zusammenlegung zu einer Tabelle?!

Wenn ja, dann brauchst du Tabelle 3 ja garnicht zu berücksichtigen, da du diese Daten ja jeweils auch in Tabelle 1 & 2 hast.

Was du suchst ist ein JOIN, google mal ;)

SELECT tabelle1.Standort, tabelle1.Name, tabelle1.Wert, tabelle2.Benutzer FROM tabelle1 LEFT JOIN tabelle2 ON (tabelle1.Name = tabelle2.Name);


Wenn ich nicht irre, dann sollte das funktionieren.