MySQL 5.6 / MariaDB 10.1 - Datenbank Tabellen verbinden (SUM, JOIN, UNION ALL)

BonumMonstrum

Grünschnabel
Guten Tag!

Ich bin ein Anfänger in MySQL. Ich habe nun meine Excel Tabellen in Tabellen in der MySQL Datenbank übertragen. Ich würde nun gerne Verbindungen wie bei Excel realisieren:

Tabelle0, Tabelle1, Tabelle2

In allen Tabellen befinden sich die genau gleichen Spalten, z.B. eine Spalte Tore und eine Spalte Vorlagen (es geht um Fußballstatistiken). Tabelle1, Tabelle2 etc stehen für Saisons.
Ich möchte aber auch eine Saisonübergreifende Statistik zu allen Daten (Tabelle0). Ist es daher möglich (wie bei Excel), Tabelle1 + Tabelle2 (und in Zukunft weitere) in Tabelle0 zusammenlaufen zu lassen? Konstanten in allen Saisons sind die IDs und die Spielernamen, welche immer an der gleichen Stelle sind und immer von dem gleichen Spieler besetzt sind. Die Anzahl der Tore und Vorlagen variiert aber natürlich von Saison zu Saison.

Vielen vielen Dank auf jeden Fall schon für die Hilfe!

Lieber Gruß
 
Moin,

wie meinst Du das denn?

In Excel kann man ganz einfach Daten aus einer anderen Excel Datei erhalten:
=[Andere Tabelle.xlsx]Blattname'!$A$1
Dies würde den Wert von der Zelle A1 einer andere Excel Tabelle (von dem jeweiligen Blatt) übernehmen. Wenn dort der Wert geändert wird, dann wird logischerweise der Wert auch hier geändert. Somit kann ich zwei Saisons ganz einfach Zusammenrechnen:

=[Saison1.xlsx]Blatt1'!$A$1+[Saison2.xlsx]Blatt1'!$A$1

So einfach geht es bei MySQL Datenbanken aber leider nicht..

ich würde doch mal auf SQL-Statements tippen :unsure:
Ggf. kannst Du auch Trigger einbauen!

WO willst du dass denn machen? In einer eigenen Software??
VG Klaus

Ich würde es über phpMyAdmin eingeben wollen, in dem Bereich SQL (in der Hoffnung dass es dort funktioniert). Ansonsten bin ich auch für andere Vorschläge offen :D

Lieben Gruß,
 
doch, mit entsprechenden SQL-Statements schon .... ;)
Ist allerdings für einen Anfänger in SQL schon eine gewisse Herausforderung!

EDIT: es geht wie gesagt wohl auch (eleganter) mit Triggern, aber das Thema ist noch etwas schwieriger!

VG Klaus

Und ein Trigger unterscheidet sich von einem SQL-Statement worin? :p:p:p
 
Ich habe mir noch einmal Deine Ausgangssituation durchgelesen und würde sagen: Lass es. Aus Sicht eines Datenbankdesigner ist das Mist. Du hast massig redundante Daten.
Meine Empfehlung wäre, dass Du Dich mit dem Thema "Normalisierung von Datenbanken" beschäftigst und die Struktur sauber aufbaust. Das könnte in etwa so aussehen:
Tabelle 1: Spielergrunddaten (Name, Alter,..)
Tabelle 2: Saison
Tabelle 3: Spieltage (Ergebnisse, Vorlagen und Torschützen)

Damit kannst Du dann über verschiedene SELECTS und Joins alle gewünschten Abfragen laufen lassen.

Hilfreicher Link:
http://www.datenbanken-verstehen.de/datenmodellierung/normalisierung/
 
Zuletzt bearbeitet:
Moin,
Klaus, mir musst du das ja nicht erklären... *gggg*
Ich wollte eigentlich nur darauf hinweisen, dass ein Trigger in sich selbst SQL-Statements enthält.
ach so - ja klar! Zumal Du ja auch gar nicht der TO bist - sorry!

Ich wollte eigentlich nur darauf hinaus, dass es sich mit Triggern ggf. automatisieren läßt!

Wobei ich FF zustimme: Design der DB nochmal überdenken
Das ist sicher auch eine super Idee (y)
Habe mich damit gar nicht näher beschäftigt, da mir die Struktur so auf die Schnelle eh ziemlich unklar erschien und ich - offen gestanden - keine Lust zu längerern diesbezüglichen Disskussionen hatte :cry:

VG Klaus
 
Zurück