# INSERT mit Inner Join / Kreuztabelle



## Maddili (25. November 2010)

Hi, ich habe eine Abfrage über mehrere Tabellen und möchte hier einen Datensatz (per SQL) einfügen.
Der Sinn dahinter ist, dass ich über eine Java-Oberfläche (Die Daten aus der Kreuztabelle sollen in eine JTable -> und hier lege ich eine neue Row an und will die Daten per Insert in die DB schreiben).


Mein Select-Befehl:

```
TRANSFORM Sum(tbl_Zeit.Verfuegbar) AS SummevonVerfuegbar
SELECT tbl_Zeit.ProjektID, tbl_Zeit.PersNr, tbl_Mitarbeiter.MA_NName, tbl_Mitarbeiter.MA_VName, tbl_Mitarbeiter.MA_Abteilung, tbl_Mitarbeiter.MA_Funktion
FROM tbl_Mitarbeiter INNER JOIN tbl_Zeit ON tbl_Mitarbeiter.MA_PersNr=tbl_Zeit.PersNr
GROUP BY tbl_Zeit.ProjektID, tbl_Zeit.PersNr, tbl_Mitarbeiter.MA_NName, tbl_Mitarbeiter.MA_VName, tbl_Mitarbeiter.MA_Abteilung, tbl_Mitarbeiter.MA_Funktion
PIVOT Format$([DDatum],"yyyy/mm");
```




DatenbankStruktur

Tabelle Zeit mit Abfrage


Grüße,
Maddin


----------



## Yaslaw (25. November 2010)

Um was für eine Datenbank handelt es sich? Oracle? MS SQL? MySQL? MS Access? Pervasive? Postgre SQL? SQLite? oder sonstwas?
Je nachdem kann die Lösung ganz anderst aussehen


----------



## Maddili (25. November 2010)

Hui, das ging ja fix.

Sorry, die (wichtigste) Angabe hab ich vergessen.
Es handelt sich um eine Access Datenbank.

mfg
Maddin

ps: Ist es ein großer Aufwand, nachträglich auf MS SQL umzustellen?


----------



## Yaslaw (25. November 2010)

Das geht sicher nicht mit einem SQL. Grad in MS Access am wenigsten.
Du musst wohl oder übel die Daten aufbrösmeln und in die jeweiligen Tabellen mit je einem INSERT schreiben.


----------



## Maddili (25. November 2010)

Och neeee... Genau das wollte ich nicht hören.

Und da das hier mit dem Antworten so fix geht, gleich meine nächste Frage:

Wie strukturiere ich hier meine Tabelle?

Klick mich!


Dachte an sowas wie:

*| ProjektID | Jahr | Monat | Kostenstelle | Verfügbarkeit (Wert) |*

Nur wenn ich das so mache, habe ich pro Projekt 720 Datensätze, welche ich ggf. alle einzeln per INSERT einfügen muss.
(720 = Kostenstelle * Monate * Jahre = 12 * 12 * 5)

kann ich das irgendwie besser machen?

mfg
Maddin

Edit: Die linken Zellen, kann ich ja mit Java berechnen.. ..es geht hier um die Werte in den "DatumsReihen".


----------

