Announcement

Collapse
No announcement yet.

Abfrage über mehrere Tabellen für csv-Export

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage über mehrere Tabellen für csv-Export

    Hallo liebe Leute,

    ich denke, mein Anliegen ist für die meisten hier recht easy und ich habe auch schon viel gesucht, aber irgendwie will das nicht ganz klappen.

    Ich habe 3 separate SQL-Tabellen (Mitarbeiter, Kunden, Vertraege), welche per ids (M-id, K_id, V_id) miteinander verknüpft sind.

    Tabelle Mitarbeiter (M_id, Mitarbeitername, Mitarbeitervorname, etc.....)
    Tabelle Kunden (K_id, M_id, Kundenname, Kundenvorname, etc.)
    Tabelle Vertraege (V_id, K_id, Vertragsart, Beginn, Ablauf, etc....)

    Ein Vertrag gehört immer zu einem Kunden und ein Kunde gehört immer zu einem Mitarbeiter.

    Nun benötige ich für einen csv-Export eine komplette csv, welche alle Daten enthalten soll. Also im Prinzip nach folgendem Schema:

    Mitarbeitername, Mitarbeitervorname, Mitarbeiter...., Kundenname, Kundenvorname, Kunde....., Vertragsart, Beginn, Ablauf, ....

    Ich habe gelesen, dass das irgendwie mit join funktionieren soll. Weiss aber leider nicht genau, welches join und in welcher genauen Syntax, da ich hier über 3 Tabellen abfragen muss.

    Kann mir jemand bitte eine kurze SQL-Abfrage dazu liefern?

    Besten Dank im Voraus und viele Grüße

  • #2
    probiere

    create table tmp_export as
    select * from Kunden
    inner join Mitarbeiter on Kunden.M_id=Mitarbeiter.M_id
    inner join Vertraege on Kunden.K_id=Vertraege.K_id;


    Das sollte dir eine temp. Tabelle erzeugen, die du exportieren kannst
    Christian

    Comment


    • #3
      Hi Christan,
      super und vielen Dank für die schnelle Antwort. Ich bekomme nun die Fehlermeldung #1060: Doppelter Spaltenname M_id
      Liegt das daran, dass ich in der Tabelle mitarbeiter und in der tabelle Kunden jeweils ein Feld mit der gleichen Bezeichnung habe?

      Comment


      • #4
        Dann musst du die Spalten alle explizit aufführen mit der Tabelle davor (ggf. auch doppelte weglassen)
        select Kunde.Spalte1,Kunden.Spalte2,Mitarbeiter.Spalte1.. ..from
        ev. kann MySql auch
        select Kunde.*,Mitarbeiter.Spalte1.. ,..from
        -> alles vom Kunden und dann explizit andere Spalten
        Christian

        Comment


        • #5
          OK, das ist auch eine gute Möglichkeit. Sind zwar ordentlich viele aber die Schreibarbeit habe ich ja glücklicherweise nur einmal.
          Auf jeden Fall vielen Dank für die schnelle Hilfe und beste Grüße

          Comment

          Working...
          X