Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Mehrere Spalten mit selber Id updaten

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von huigc001, 6 Juli 2017.

  1. huigc001

    huigc001 Benutzer

    Hallo Zusammen,

    da ich im Bereich eingebetteter Systeme tätig bin, kenne ich mich nicht so gut aus mit SQL. Habs zwar im Studium gemacht aber ist schon 3 Jahre her.

    Ich habe zwei Tabellen cars und invoices. Ich möchte in der Tabelle invoices in einer Spalte für Fahrzeuge mit derselben Chassis_number die Id des jeweiligen Fahrzeugs zuweisen. Zum Beispiel gibt es einmal den Kauf des Fahrzeugs mit der Id 55, dann wird für dieses Fahrzeug getankt und typischerweise würde dies die Id 56 bekommen usw.. Aber es soll ebenfalls die Id 55 bekommen, um diese eindeutig identifizieren zu können. Beide Einträge beinhalten die Chassis_number als Zuweisung.

    Ich hoffe ich konnte mein Problem gut genug erläutern. Falls nicht einfach nachfragen.

    Vielen Dank für eure Hilfe im Voraus.

    Viele Grüße
     
  2. huigc001

    huigc001 Benutzer

    Beispiel:

    cars:
    Id | Chassis_number |
    3 | 55689
    4 | 58741

    invoices:
    Id | Description | carMapId |
    50 | Fahrzeugkauf... 55689 | 3 |
    51 | Tanken... 55689 | 3 |
    52| Fahrzeugkauf... 58741 | 4 |
    53 | Tanken... 58741 | 4 |
     
  3. ukulele

    ukulele Datenbank-Guru

    Ich bin mir nicht sicher ob ich verstehe was du willst, deine invoices sind ja schon per carMapId der Id aus cars zugeordnet, wäre also kein Problem die Chassis_number mit auszugeben. Die steht dann offensichtlich nochmal in der Description.
    Code:
    SELECT i.*,c.Chassis_number FROM invoices i LEFT JOIN cars c ON i.carMapId = c.Id
    Oder ist deine carMapId noch leer?

    Oder suchst du die erste invoices.Id für jedes Fahrzeug?
    Code:
    SELECT i1.*,i2.Id AS erste_ID FROM invoices i1 INNER JOIN ( SELECT carMapId,min(Id) AS Id FROM invoices GROUP BY carMapId ) i2 ON i1.carMapId = i2.carMapId
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Wozu willst Du somit praktisch 2 Foreign Keys haben? Du hast die Fahrzeug-ID. In Deiner Invoices-Tabelle brauchst Du auch einen PK. Keine Tabelle ohne PK!
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden